分类 数据结构和算法 中的文章

数据结构和算法学习理解C语言实现(四)

图 图是一种比较复杂的数据结构,这是一种网状结构,并且任何数据都可以用图来表示 图的相关概念 1)有向图 如果图G中的每条边都是有方向的,则称G为有向图。在有向图中,一条有向边是由两个顶点组成的有序对,有序对通常用尖括号表示。有向边也被称为弧,将边的始点称为弧尾,将边的终点称为弧头。 2)无向图 如果图中的每条边都是没有方向的,这种图被称为无向图。无向图中的边都是顶点的无序对,通常用圆括号来表示无 …


阅读全文 


数据结构和算法学习理解C语言实现(三)

树 “树”主要有根、干、枝、叶组成。在数据结构中树被引申为一个集合以及在该集合上定义的一种关系构成,包括根节点和若干课子树。 单个节点是一棵树,树根就是该节点本身。设T1,T2,···,Tk是数,它们的根节点分别为n1,n2,···,nk。如果用一个新节点n作为n1,n2,···,nk的父亲,得到一颗新树,节点n就是新树的根。称n1,n2,···,nk为一组兄弟节点,它们都是节点n的子节点, …


阅读全文 


数据结构和算法学习理解C语言实现(二)

线性表、队列和栈 在C语言数据之间一般存在3种疾病结构 线性结构:数据元素间是一对一关系 树形结构:数据元素间是一对多关系 网状结构:数据元素间是多对多关系 线性表 线性表是一种最基本、最简单、最常用的数据结构。在实际应用中,线性表都是以栈、队列、字符串、数组等特殊线性表的形式来使用的。因为这些特殊线性表都具有自己的特性,所以掌握这些特殊线性表的特性,对于数据运算的可靠性和提高操作效率是至关重 …


阅读全文 


数据结构和算法学习理解C语言实现(一)

常用的算法思想 枚举算法思想 将问题的所有可能的答案一一列举,然后根据条件判断此答案是否合适,保留合适的,丢弃不合适。在C语言中,枚举算法一般使用while循环实现。使用枚举算法解题的基本思路如下。 确定枚举对象、枚举范围和判定条件。 逐一列举可能的解,验证每个解是否是问题的解。 枚举算法一般按照如下3个步骤进行。 题解的可能范围,不能遗漏任何一个真正解,也要避免有重复。 判断是否是真正解的 …


阅读全文