数据结构
文章平均质量分 50
Nicky徜徉在代码海洋
这个作者很懒,什么都没留下…
展开
-
树
树原创 2017-10-27 21:36:22 · 135 阅读 · 0 评论 -
堆栈
堆栈是具有一定操作约束的线性表,它只在一端(栈顶,Top)做插入和删除操作。对战具有后入先出的特点,即后进入堆栈的元素因为更靠近栈顶,所以在出栈(删除)操作中先行考虑这个元素。在计算机中,函数递归、表达式运算、输入数据缓冲区等很多地方都必须使用堆栈。原创 2017-10-24 18:54:06 · 473 阅读 · 0 评论 -
并查集
并查集练习题目要求有N个节点,初始状态互相独立,没有边相连,读入N后,每一行的指令结构为I 数字1 数字2 // 连接节点1和2 C 数字1 数字2 // 检查节点1和节点2之间有没有路径,若有输出yes,反之输出no S // 检查网络一共有几片联通片,结束程序输入样例1:5 C 3 2 I 3 2 C 1 5 I 4 5 I 2 4 C 3 5 S输出样例1:no no yes There ar原创 2017-11-08 18:35:38 · 102 阅读 · 0 评论 -
链表练习:多项式的加法和乘法
设计函数分别求两个一元多项式的乘积与和。原创 2017-10-22 22:40:11 · 194 阅读 · 0 评论 -
链表练习:两个有序链表序列的合并
题目要求本题要求实现一个函数,将两个链表表示的递增整数序列合并为一个非递减的整数序列。原创 2017-10-22 12:15:27 · 508 阅读 · 0 评论 -
堆
堆特性 结构性:用数组表示的完全二叉树; 有序性:任意节点的关键字是其子树所有节点的最大值(最大堆)或最小值(最小堆)。 最大堆的操作 最大堆的创建 typedef struct HeapStruct *MaxHeap struct HeapStruct { ElemType *Elem; int size; int capacity; }; MaxHeap Create(i原创 2017-11-07 20:27:53 · 111 阅读 · 0 评论 -
线性表及其链式表示
线性表的顺序存储结构的特点是逻辑关系上相邻的两个元素在物理位置上也相邻。因为线性表的顺序存储方式是使用数组来存放数据的,而数组是计算机内存上一段连续的存储空间。但是链表不要求逻辑上相邻的元素在物理位置上也相邻,因为链表的元素之间使用指针一一相连的,后一个节点的位置信息储存在前一个节点的指针域中,因此即使它们相隔十万八千里,也可以通过指针这条高速公路互相连接。 顺序存储结构的特点决定了它存在一系列弱点,例如在进行插入原创 2017-10-22 11:00:12 · 188 阅读 · 0 评论 -
线性表及其顺序表示
线性链表不需要提前设置固定的数据总数,来一个数据就能储存一个数据。并且可以通过只储存非零项的方式避免空间的浪费。当然,它也有逻辑抽象,调试困难等一系列缺点。原创 2017-10-21 20:30:18 · 262 阅读 · 0 评论 -
二叉查找树
二叉查找树定义 二叉查找树:一颗二叉树,可以为空,若不为空,满足以下性质: 非空左子树的所有键值小于其根节点的键值; 非空右子树的所有键值大于其根节点的键值; 左右子树都是二叉查找树。 操作 查找元素x position ItemFind(ElemType x, BinTree BST) { while(BST) { if(x > BST -> data)原创 2017-11-03 21:05:25 · 135 阅读 · 0 评论