![](https://img-blog.csdnimg.cn/2019091813595558.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
数据结构笔记
文章平均质量分 63
个人学习笔记
JamSlade
这个作者很懒,什么都没留下…
展开
-
04笔记 数据结构——数组—— 基于《数据结构》(C语言版) 第2版 (严蔚敏等)和《数据结构教程》蔡子经,施伯乐
数组的顺序存储 一维数组的每个元素由一个值和下标确定 对C语言来说 a[0]……a[t-1]是一个有序数列,令s = sizeof(datatype) ,表示一个数组占用的储存单元个数 元素a[0] 地址 &a[0] 地址计算公式 &a[i] = &a[0] + i×s 二维数组表示 但本质上还是拿一段连续的内存来表示 于是我么不难得到地址公式 &a[i][j] = &a[0][0] + (i×t + j)s 三维数组依次类推 &a[i][j][k] = &原创 2021-10-29 10:37:05 · 207 阅读 · 0 评论 -
03笔记 数据结构——串(字符串)—— 基于《数据结构》(C语言版) 第2版 (严蔚敏等)和《数据结构教程》蔡子经,施伯乐
基本概念和储存结构 字符集V上字符组成任何有限序列 如C语言中的“abcd" 可以看作是一个特殊的线性表:(只含有字符型变量)一般用顺序储存结构来储存表 运算 #include<stdio.h> #define MAXN 1000 char s[MAXN], s1[MAXN], s2[MAXN]; const int fail = 0, false = 0; const int suc = 1, true = 1; int strlen(char s[]) { int i;原创 2021-10-15 10:13:45 · 134 阅读 · 0 评论 -
03笔记 数据结构——栈和队列—— 基于《数据结构》(C语言版) 第2版 (严蔚敏等)和《数据结构教程》蔡子经,施伯乐
栈和基本运算 栈:只允许在一端进行插入和删除的线性表 栈顶:允许插入和删除的一端 栈底:不允许…… s_0是栈底节点,s_{n-1}是栈顶结构 特性:先进后出(后进先出)LIFO(Last In First Out) 栈顶指针:一般用一个指针top来指向数组存放的位置。 栈的实现 队列和基本运算 队列:只允许在一端插入,在另一端删除的线性表 队首:允许删除的一端 队尾:允许插入的一端 入队:队列的插入 出队:队列的删除 先进先出表 FIFO(Fisrt In First Out) ...原创 2021-09-11 14:53:50 · 148 阅读 · 1 评论 -
02笔记 数据结构——线性表—— 基于《数据结构》(C语言版) 第2版 (严蔚敏等)和《数据结构教程》蔡子经,施伯乐
顺序存储的线性表 A 储存 用一组连续的存储单元依次储存线性表的结点 所有结点的数据类型相同的 B 插入 在n个节点中,把新节点插在第i位(0≤i≤n) 让原来长度是n的线性表变为n+1的线性表,这个时候,需要把在i后面的数据(一共n-i个数据往后移一个单位),若i==n则不用后移 这时候我们分析时间复杂度 新节点插在各个位置上的概率为pi,则∑i=0npi=1对应移动n−i个节点:∑i=0npi×(n−i)∑i=0n1n+1(n−i)=1n+1∑i=0n(n−i)=1n+1×n(n−1)2=n2概率为p_原创 2021-09-11 10:58:58 · 147 阅读 · 0 评论 -
01笔记 数据结构——第一章:绪论—— 基于《数据结构》(C语言版) 第2版 (严蔚敏等)和《数据结构教程》蔡子经,施伯乐
绪论 早期计算机主要用于数值计算 而数据结构研究非数值计算程序设计中的操作对象、关系、操作的学科 程序 = 数据结构 + 算法 例子①: 学生信息管理系统 操作对象:学生信息(学号、姓名、专业) 操作对象之间的关系:线性关系 操作算法:查询、插入、修改、删除 数据结构:线性表 例子②: 冒泡排序 操作对象:实数 关系:线性关系 算法:排序 例子③: 最短路径 内容 基础数据结构: 线性结构:线性表、栈、队列,广义表,串,数组 非线性结构:树 图 基本数据处理技术:查找、插入、排序、删除 数据结构: 可以理原创 2021-09-08 11:11:44 · 241 阅读 · 0 评论