数据结构
文章平均质量分 90
看不懂人生代码
这个作者很懒,什么都没留下…
展开
-
数据结构重要排序算法总结
这里写目录标题插入排序折半插入排序希尔排序冒泡排序快速排序归并排序堆排序算法复杂度 插入排序 排序思想: 将待排序的记录Ri;,插入到已排好序的记录表R1, R2,····Ri-1中,得到一个新的、记录数增加1的有序表。 直到所有的记录都插入完为止。 设待排序的记录顺序存放在数组R[1···n]中,在排 序的某一时刻,将记录序列分成两部分: R[1···i-1]:已排好序的有序部分; R[1···n]:未排好序的无序部分。 显然,在刚开始排序时,R[1]是 已经排好序的。 void straight_i原创 2020-12-03 17:32:52 · 159 阅读 · 0 评论 -
数据结构中的顺序和折半查找算法
顺序查找 查找思想: 从表的一端开 始逐个将记录的关键字和给定K值进行比较,若某个记录的关键字和给定K值相等,查找成功; 否则,若扫描完整个表,仍然没有找到相应的记录,则查找失败。 #define MAX_SIZE 100 typedef struct SSTable{ RecType elem[MAX_SIZE]; //顺序表 int length; //实际元素个数 }SSTable; int Seq_Search(SSTable ST,KeyType key){ int p ; ST.e原创 2020-11-29 22:09:30 · 530 阅读 · 0 评论 -
图的两种重要的遍历算法【考研篇】
图的遍历算法 深度优先搜索算法和广度优先搜索算法 理解图算法之前首先要理解图邻接链表的存储结构。 #define MAX_VEX_NUM 20; typedef struct ArcNode{ int adjvex; //该弧所指向的顶点的位置 struct ArcNode *nextarc; //指向下一条弧的指针 InfoType *info; //该弧相关信息的指针 }ArcNode; typedef struct VNode{ VertexType data; //顶点信息 Ar原创 2020-11-26 17:42:21 · 327 阅读 · 0 评论 -
考研中的几种重要的二叉树遍历算法
先序遍历二叉树 1 递归算法的定义 若二叉树为空,则遍历结束;否则 (1)访问根节点 (2)先序遍历左子树(递归调用本算法) (3)先序遍历右子树(递归调用本算法) void PreorderTraverse(BTNode *T){ if(T!=NULL){ visit(T->data); PreorderTraverse(T->Lchild); PreorderTraverse(T->Rchild); } } ————————————————————————原创 2020-11-20 18:28:04 · 385 阅读 · 0 评论