数据结构笔记(C语言)
文章平均质量分 66
每一步都会写自己的理解,不放过每一个疑问点
奔心小韩
好好生活,好好热爱
展开
-
19-数据结构-查找-散列查找
散列查找-复习笔记原创 2023-12-12 14:51:17 · 1142 阅读 · 0 评论 -
25-数据结构-稀疏矩阵-三元组
三元组-稀疏矩阵存储原创 2023-10-25 20:03:43 · 688 阅读 · 1 评论 -
24-数据结构-内部排序-基数排序
基数排序,通过队列,进行收集和分配操作原创 2023-10-19 22:09:34 · 407 阅读 · 0 评论 -
23-数据结构-内部排序-归并排序
归并,也叫合并,合二为一嘛,归并排序实际上相当于二叉树递归,先左右拆分,最后给数组拆分为每个数据为独立个体,再执行合并操作,原创 2023-10-19 21:21:53 · 347 阅读 · 0 评论 -
22-数据结构-内部排序-选择排序
选择排序:都是选最小的,或者最大的,拿到前面或后面。主要右简单选择排序和堆排序原创 2023-10-19 19:59:25 · 346 阅读 · 0 评论 -
21-数据结构-内部排序-交换排序
交换排序-冒泡和快速原创 2023-10-17 21:09:07 · 355 阅读 · 0 评论 -
20-数据结构-内部排序-插入排序
插入排序原创 2023-10-17 19:39:38 · 288 阅读 · 0 评论 -
18-数据结构-查找-B树和B+树
总的计算知识点,全在图里。主要有B树中结点总数据范围的计算。根结点,终端节点,叶子节点的区分,首先公式中的字母含义。m为几阶B树(B树中结点中度最多的便是m),n为总数据个数,即关键字数。此外,查找的时候,是类中序查找的,大小排序就根平衡二叉树差不多只不过B树中的平衡因子都为0,左小又大,支持随机查找——先在结点内遍历,遍历不到,再去相应区间去往下遍历。原创 2023-09-12 23:10:53 · 281 阅读 · 0 评论 -
17-数据结构-查找-(顺序、折半、分块)
查找-顺序,分块,折半原创 2023-09-10 22:40:25 · 1169 阅读 · 0 评论 -
16-数据结构-图的存储结构
图的存储基本结构原创 2023-09-05 23:07:18 · 1078 阅读 · 1 评论 -
15-数据结构-二叉树的遍历,递归和非递归
简介:本文主要是代码实现,二叉树遍历,递归和非递归(用栈)。主要为了好理解,直接在代码处,加了详细注释,方便复习和后期默写。主要了解其基本思想,为后期熟练应用打基础。遍历的意义,就是为了实现在二叉树上,进行各种操作,给每个结点都光顾到位,到根节点时,进行当前节点的操作。原创 2023-08-31 23:00:24 · 418 阅读 · 0 评论 -
14-数据结构-二叉树的创建以及前中后遍历,以及结点和叶子节点的计算(C语言)
二叉树,这里采用孩子链表存储法,即一个数据域和两个左右孩子指针域。随后递归进行遍历即可。在创建二叉树的时候,先创建各个二叉树结点(这里的结点采用动态分配,因此结点为指针变量),随后,再根据逻辑结构图,手动通过左右指针域,链接到对应位置即可。原创 2023-08-25 21:22:13 · 720 阅读 · 0 评论 -
13-数据结构-串以及KMP算法,next数组
第二个位置时,则找第一个位置,然后错一位,进行比对,比对时,下面的那一串向右移动,直到比对完重复部分,之后重复部分长度+1,便是模式串下标所更新的值。当i和j中的值都相等时,都往后移动,当不匹配时,则进行下标的更新,主串中的i,更新为i=k+1,即主串的i从左至右,挨个比对,第一个开始,比对失败,则第二个开始,重新比对。简单模式匹配算法为(m*n),主串长为m,模式串为n,因为最坏的情况,每次主串都要重新比对,所以为m,而每次比对,模式串都需要从头到尾重新遍历,所以m*n。串的长度,实际上为字符串长度。原创 2023-08-14 19:36:41 · 332 阅读 · 0 评论 -
12-数据结构-数组、矩阵、广义表
这一章节理解基本概念即可。数组要看清其实下标是多少,且二维数组,存取数据,要先看清楚是按照行存还是按列存,按行则是正常一行一行的取读写,按列则是,从左至右,一列一列的弄。此外,数组中具体坐标的空间大小要会计算,每块存储单元,算到该数组坐标的前一位的数组大小,如A[5][3],起始位A[0][0],则计算A[5][3]的时候,先计算0-4行的空间大小,在计算第5行的大小,计算0-2的大小,将其加上即可。原创 2023-08-14 11:46:30 · 1039 阅读 · 0 评论 -
11-数据结构-栈和队列的应用(C语言)
然后读取,当读取左括号时,入栈,当遇到右括号时,栈内出栈,与之对比,若匹配则继续扫描数组,否则则非法,程序结束,非法情况除了括号不对应外,还有,两种,一个是扫到右括号,去栈内拿括号,结果栈空了。方法一:我们可以根据优先级,一块一块的去算,先计算(C-D)为CD-,E/F为EF/,而B*(CD-)也是两操作数,因此为BCD-*,随后A+(BCD-*)为两个操作数,所以ABCD-*+,最后(ABCD-*+)-(EF/)为两个操作数,因此为:ABCD-*+EF/-.递归就是在系统栈中,开辟临时空间,进行操作。原创 2023-08-12 10:17:24 · 707 阅读 · 0 评论 -
10-数据结构-队列(C语言)
简介:由单链表构成,然后由队头指针和队尾指针,进行操作,因此定义两个结构体,一个结构体是定义队列结点类型的,一个则是封装队头,队尾指针。/链队结点int data;}LinkNode;//链队的头指针和尾指针}LinkQueue;原创 2023-08-10 17:50:38 · 1168 阅读 · 0 评论 -
9-数据结构-栈(C语言版)
栈原创 2023-08-08 18:03:21 · 727 阅读 · 0 评论 -
7-数据结构-(带头节点)单链表的增删改查
带头节点单链表的增删改查原创 2023-08-05 18:41:59 · 894 阅读 · 0 评论 -
6-数据结构-线性表-单链表-创建以及尾插法
而打印单链表,只需要定义一个节点指针,指向单链表的最前面,然后用该指针,遍历打印当前的data域即可,而单链表的遍历,需要自我赋值,即给下一个结点的地址,赋值给自己,实现指针往后移动。此外,遍历的时候,是直接看指针空不空,而不用看next域,因为这里要实现的是打印,扫描当前节点,如果为next,则在最后一个节点时,他的next为空,则不会进入循环,去打印最后一个数据。单链表,就是由一块块的空间,单向串成串,连起来,每一块空间,便是单链表结构体,该结构体中,含有两部分:1-所需存储数据的,data部分。原创 2023-06-08 21:05:10 · 491 阅读 · 0 评论 -
5-数据结构-去重算法,以及删除数组中所有指定元素
去重算法,以及双指针的妙用原创 2023-06-04 17:36:43 · 188 阅读 · 0 评论 -
4-数据结构-线性表-顺序表的查找和修改以及总结
顺序表的查找以及修改,跟数组一样,直接进行遍历查找,以及直接找到数组中某个值。修改,一样的操作,先给修改函数写好。只需给该下标处的值,赋值,进行覆盖即可。下面是所有代码总结。包含前面顺序表的定义,初始化,打印,检查,插入和删除。原创 2023-06-03 23:09:03 · 246 阅读 · 0 评论 -
3-数据结构-线性表之顺序表-在某个位置插入或删除
顺序表-在一个位置插入或者删除原创 2023-05-19 16:17:59 · 618 阅读 · 0 评论 -
2-数据结构-线性表之顺序表的头插尾插
顺序表头插法和尾插法原创 2023-05-18 16:05:50 · 508 阅读 · 0 评论 -
1-数据结构-线性表之顺序表
顺序表初始化原创 2023-05-18 15:15:35 · 76 阅读 · 0 评论