随笔分类 -  数据结构

摘要:(一)定义 (二)串的比较 (三)串的抽象数据类型 (四)串的存储结构 串同线性表:分为两种存储结构,顺序存储和链式存储 1.串的顺序存储结构 2.串的链式存储结构 3.比较 (五)代码实现(顺序结构) (六)总结 #define _CRT_SECURE_NO_WARNINGS #include < 阅读全文
posted @ 2018-08-09 16:48 山上有风景 阅读(947) 评论(0) 推荐(0) 编辑
摘要:(0)预备知识 C语言复习 二维数组和二级指针的关系:没关系,别瞎想(重点) (一)问题描述 (二)递归代码实现 递归函数EightQueen 位置合法性noDanger 阅读全文
posted @ 2018-08-09 09:26 山上有风景 阅读(1662) 评论(0) 推荐(0) 编辑
摘要:(一)汉罗塔的了解 (二)拆分小块,分治思想 只有3个圆盘时 步骤总结 (三)代码实现 (四)解析 (五)总结 阅读全文
posted @ 2018-08-08 20:03 山上有风景 阅读(570) 评论(0) 推荐(0) 编辑
摘要:(一)递归定义 (二)斐波那契数列实现 #define _CRT_SECURE_NO_WARNINGS #include <stdio.h> #include <stdlib.h> int main() { int i; int a[40]; a[0] = 0; a[1] = 1; printf(" 阅读全文
posted @ 2018-08-08 18:28 山上有风景 阅读(826) 评论(0) 推荐(1) 编辑
摘要:(一)定义 (二)结构 (三)队列的抽象数据类型 (四)存储结构 (五)队列的链式存储结构 (六)队列的顺序存储结构(了解思想即可) (1)顺序队列:队头指针不变 (2)顺序队列:队头指针移动 (3) 顺序队列:循环队列 注意:和链队列相比 (七)实现循环队列(可以使用堆,也可以使用数组,这里直接使 阅读全文
posted @ 2018-08-08 13:48 山上有风景 阅读(505) 评论(0) 推荐(0) 编辑
摘要:栈的应用:四则运算实现 (一)预备知识 前缀、中缀、后缀表达式(逆波兰表达式) union联合体使用详解 中缀表达式 前缀表达式 后缀表达式(逆波兰表达式)<这是我们使用的> (二)中缀转后缀 例如,将中缀表达式“1+((2+3)×4)-5”转换为后缀表达式的过程如下: 因此结果为“1 2 3 + 阅读全文
posted @ 2018-08-07 23:49 山上有风景 阅读(4267) 评论(0) 推荐(3) 编辑
摘要:(一)前提 (二)链式存储结构 (三)链栈的结构体 (四)链栈的代码实现 (五)总结:和顺序栈之间的对比 使用情况选择 阅读全文
posted @ 2018-08-07 23:37 山上有风景 阅读(1756) 评论(0) 推荐(0) 编辑
摘要:(一)栈的定义 (二)栈的抽象数据类型 注意: (三)栈的顺序存储结构 (四)实现栈之前的预备知识 (1)malloc函数获取的内存,内存空间上是连续的 (2)不同类型指针的步长增长问题 (3)指针和所指向的数据中间的关系 例如:我们要获取栈顶数据11,我们就需要先将栈顶退一,然后才能读取到数据 ( 阅读全文
posted @ 2018-08-07 10:13 山上有风景 阅读(1552) 评论(0) 推荐(0) 编辑
摘要:(一)定义 (二)结点结构 (三)双向链表结构 双向循环链表 带有头结点的空链表 带有头结点的数据链表 (四)实现双向链表 (五)打印预览 (六)总结 阅读全文
posted @ 2018-08-06 12:55 山上有风景 阅读(498) 评论(0) 推荐(0) 编辑
摘要:(一)回顾所有的线性表结构 (二)是否需要头结点? Status InitList(CLinkList* L,int n) { CLinkList rear, q; //rear是尾结点 ElemType item; rear = q = NULL; srand(time(0)); for (int 阅读全文
posted @ 2018-08-06 11:55 山上有风景 阅读(272) 评论(0) 推荐(0) 编辑
摘要:(一)合并两个循环链表 (二)判断单链表中是否有环 方法一:使用两个指针,循环嵌套,A指针在外层循环,一步一步向下走,B指针在内层循环,循环到A的位置,当两者的位置相同时判断走的步数是否一致,不一致则代表有环。且能够得到准确的环路节点。其中A是要将链表从头走到尾,B是一直在内层进行循环,时间复杂度为 阅读全文
posted @ 2018-08-05 22:45 山上有风景 阅读(316) 评论(0) 推荐(0) 编辑
摘要:(一)前提 (二)实现结构 (三)代码实现 #define _CRT_SECURE_NO_WARNINGS #include <stdio.h> #include <stdlib.h> #include <time.h> #define OK 1 #define ERROR 0 #define TR 阅读全文
posted @ 2018-08-05 17:05 山上有风景 阅读(950) 评论(0) 推荐(1) 编辑
摘要:(一)定义 (二)优点 (三)结构 带有头结点 不带头结点 (四)实现循环链表(使用尾指针,不带头结点) (五)优点 阅读全文
posted @ 2018-08-05 13:52 山上有风景 阅读(905) 评论(0) 推荐(0) 编辑
摘要:题目 解决思路 (一)使用一个指针,先索引一遍获取总长度,再取长度一半去循环获取到中间值 (二)使用两个指针,快指针和慢指针,快指针一次向前走2格,慢指针一次走一格,当快指针走完全程,慢指针正好走在中间 方法二:代码实现 全部代码实现 效果预览 阅读全文
posted @ 2018-08-05 10:33 山上有风景 阅读(1098) 评论(0) 推荐(0) 编辑
摘要:(一)前提 (二)静态链表的实现结构 (三)要点 (四)静态链表的实现步骤 (1)中间插入实现(将B插入A,C中间) (2)头插法插入 代码和上面一致 (3)尾插法 代码还是一致的 (五)代码实现 (六)优缺点 优点(和单链表一样) 缺点(比单链表还惨) (七)总结 (八)思考 (九)解决 阅读全文
posted @ 2018-08-04 23:49 山上有风景 阅读(607) 评论(0) 推荐(0) 编辑
摘要:(一)前提 (二)链式线性表两种结构(带有头结点和不带头结点) 不带头结点: 空链表: 带有头结点: 空链表: (三)头结点和头指针的区别 头指针: 头结点: (四)带头结点的单链表实现 1.InitList 2.1 Insert range of 5 elements by head 2.2 In 阅读全文
posted @ 2018-08-04 13:45 山上有风景 阅读(1283) 评论(0) 推荐(0) 编辑
摘要:(一)线性表的抽象数据类型定义 (二)线性表的实现 1.InitList initial List.... 2.1 ListInsert 1-10 2.2 ListInsert 5 2.3 ListInsert 19 Error ListInsert(&L, 19, 99) Error:Out of 阅读全文
posted @ 2018-08-03 22:18 山上有风景 阅读(1038) 评论(1) 推荐(0) 编辑