数据结构学习(考研408)
112
目录
- 其他
- 开端
- 线性表
- 栈和队列
- 栈
- 队列
- 队列和栈的应用
- 矩阵的压缩存储
- 串
- KMP算法
- 树
- 相关概念术语
- 二叉树
- 二叉树的遍历
- 树与森林
- 树的应用
- 图
- 图的相关概念
- 图的存储
- 图的遍历:
- 图的应用:
- 最小生成树
- 找最短路径
- 有向无环图描述表达式
- 拓扑排序
- 关键路径
- 查找算法
- B-树
- 散列函数
- 排序算法
- 内部排序
- 外部排序
- 经典例题
- 算法
- 1.线性表
- 2.栈和队列
- 3.二叉树
111
数据结构学习笔记,若有任何问题欢迎大家评论指出
其他
1.存取包括存和取
2.第i个元素指下标为i-1的位置
3.注意题干,注意题干中的陷阱
开端
有关概念:一个数据元素由若干个数据项组成,数据对象是具有相同性质的的数据元素的集合。 抽象数据元素可以理解为抽象成员,他是没有实际含义的数据元素,当实际使用时才确定他的数据类型
数据结构是相互存在一种或多种特定关系的数据元素的集合(数据之间的关系)
数据结构三要素: 存储结构(顺序,链式,索引,散列) 数据运算(与或非加减乘除等等)
逻辑结构:集合,线性,树形,图或网(主要分为线性和树状,图形) 线性是除了首尾外唯一前驱后继,树是除了根外唯一前驱不限后继数。图不限前驱后继数
逻辑结构+存储结构=物理结构,例:线索二叉树是物理结构
抽象数据类型包含逻辑结构和数据运算,可以定义一个完整的数据结构(实现则要用到存储结构)
是从基本数据类型中抽象出来的,即几种类型混合使用的类型,例如表,队列,堆等等
算法具有的特性:确定性:即运算结果是唯一的,每一步是确定的不是模棱两可的
有穷性,至少一个输出,有效性
最坏情况下某语句的频度指某一语句出现的频率(执行次数最大的时候)
时间和空间复杂度
时间复杂度:T(n) 一般表示程序执行次数T和传入的参数n的关系
一般只关注n的最高阶数,即如果T(n)=6n3+10n2+100000000,一般我们都假设T(n)=O(n3)
o(1)<o(log2n)<O(n)<o(nlog2n)<O(n2)<o(n3)<o(2n)<O(n!)<O(nn)
例:传入i=1;i<n i=2i 则i=1,2,4,8,16 所以2x=n,即x=log2n,所以时间复杂度为log2n
空间复杂度:S(n) 一般表示动态容器扩容问题
无论问题的规模怎么变,算法运行所需的内存空间都是固定的常量,则空间复杂度S(n)=O(1),这种情况我们成为“原地工作”
线性表
注意:1.头指针不等于头结点,头指针指头结点的指针域,指向第一个结点,
所以设置尾指针的链表指尾结点存在指针域,其值一般设置为NULL
2.带头结点的单链表,头结点不是第一个元素
线性表:是一种最简单的线性结构。相同数据类型的m个数据元素的有限序列,以下都是线性表
顺序表:指用顺序存储(数组)的方式实现的顺序表
位序:数据元素位序是从1开始的,即下标为0的数
特点:不易扩容,易查找,不易插入和删除,为随机存取结构
单链表:每一个结点中包含数据域和指针域,指针域指向下一个结点的地址
每一个结点有自己的地址(包含 一个结点的空间)在这个空间中有两个小块空间,一个空间是存储数据的空间,一个空间是存储指针的空间
特点:易扩容,不易查找,易插入和删除,为非随机存取结构(不能直接找到某个特定的点)
如何在单链表的某一个节点(p)前插入元素呢?(单链表访问不到前一个节点)
删除某个结点:删除结点p,无法使p的前驱指向p的后继,所以直接使p等于p的后继即可
(创建指针L,L=p;p=p.next;free(L)
数据结构学习(考研408)相关推荐
- 【专栏必读】王道考研408数据结构万字笔记(有了它不需要你再做笔记了):各章节内容概述导航和思维导图
其他科目导航 [专栏必读]王道考研408计算机组成原理万字笔记(从学生角度辅助大家理解):各章节导航及思维导图 [专栏必读]王道考研408操作系统万字笔记(从学生角度辅助大家理解):各章节导航及思维导 ...
- 计算机考研408复试(面试)问题——数据结构
计算机考研408复试(面试)问题: 链接: 计算机组成原理 链接: 操作系统 链接: 数据结构 链接: 计算机网络 1.绪论 1.数据类型 原子类型.如 int.bool 结构类型.如struct{- ...
- 考研数据结构学习笔记1
考研数据结构学习笔记1 一.绪论 1.基本概念和术语 2.数据结构三要素 2.1逻辑结构 2.1.1 集合结构 2.1.2 线性结构:一对一 2.1.3 树形结构:一对多 2.1.4 图状结构:多对多 ...
- 考研[*数据结构*]学习笔记汇总(全)
文章目录: 一:预备阶段 二:基础阶段笔记 三:冲刺阶段笔记 四:各章节思维导图 五:题库 来源:王道计算机考研 数据结构 一:预备阶段 之前的数据结构笔记 数据结构--学习笔记--入门必看[建议收藏 ...
- 考研数据结构学习与总结笔记---1.1数据结构的基本概念
考研数据结构学习笔记---王道 数据结构的基本概念 1.数据 2.数据元素 3.数据对象 4.数据类型 5.数据结构 数据结构三要素 1.数据的逻辑结构 2.数据的存储结构 3.数据的运算 回顾与总结 ...
- [附源码]java毕业设计基于的考研408课程学习平台
项目运行 环境配置: Jdk1.8 + Tomcat7.0 + Mysql + HBuilderX(Webstorm也行)+ Eclispe(IntelliJ IDEA,Eclispe,MyEclis ...
- [附源码]SSM计算机毕业设计基于的考研408课程学习平台JAVA
项目运行 环境配置: Jdk1.8 + Tomcat7.0 + Mysql + HBuilderX(Webstorm也行)+ Eclispe(IntelliJ IDEA,Eclispe,MyEclis ...
- 【专栏必读】王道考研408操作系统万字笔记(从学生角度辅助大家理解):各章节导航及思维导图
其他科目导航 [专栏必读]王道考研408计算机组成原理万字笔记(从学生角度辅助大家理解):各章节导航及思维导图 [专栏必读]王道考研408数据结构万字笔记(有了它不需要你再做笔记了):各章节内容概述导 ...
- 【专栏必读】王道考研408计算机组成原理万字笔记和题目题型总结(从学生角度辅助大家理解):各章节导航及思维导图
其他科目导航 [专栏必读]王道考研408操作系统万字笔记(有了它不需要你再做笔记了):各章节内容概述导航和思维导图 [专栏必读]王道考研408数据结构万字笔记(有了它不需要你再做笔记了):各章节内容概 ...
最新文章
- 在Yolov5 Yolov4 Yolov3 TensorRT 实现Implementation
- c语言信号机制以及中断
- 位移时小心一下运算符的优先级
- 1.5 关于这门课-深度学习-Stanford吴恩达教授
- lintcode-517-丑数
- urllib2的Post和Get请求
- 0基础入门前端,会遇到哪些困难?
- Oracle数据库日期格式转换操作
- 科学精神:谈登月,关键在于讨论技术如何实现
- 使用Requests爬取网页图片并保存
- 大数据和云计算的区别
- uniapp不是自定义导航栏的情况下,点击返回按钮直接返回首页
- 高尚品质_心理学家:品德高尚的人一定具有这6点特征
- 使用java求解根号2
- Anaconda jupyter 错误修复
- mac中没有my.cnf文件 mysql
- 【语音之家】AI产业沙龙—语音技术在贝壳的应用
- 2021年安全员-B证考试题及安全员-B证报名考试
- Redis知识点总结归纳
- Java 服务器与客户端的简单连接
热门文章
- 教你一招快速清理DNS缓存
- xxx was compiled with optimization - stepping may behave oddly; variables may not be available.
- 为什么更多APP开发者选择穿山甲作为游戏变现平台?
- 【初级C语言】代码版式(空行,空格,对齐,长行代码,注释)
- Hibernate框架基础——cascade属性
- matlab2018a调用python
- PCA与2DPCA及2D-2DPCA零基础理解(下)
- C++实验题21 破解简单密码
- phpmywind 导航函数详解整理中……
- 拉格朗日乘数法 和 KTT条件