随着复习的不断深入,发现数据结构的基础并不牢固,找到了一本相对经典的数据结构书籍——大话数据结构,网上的资源很多,很容易找到PDF版,下面对这本书的知识点做整体性的梳理,主要为之后再回头看找到方向。

第一章 数据结构绪论

    1. 什么是程序?

程序 = 数据结构 + 算法

     2. 什么是数据结构?

          是相互之间存在的一种或多种特定关系的数据元素的集合。

     3. 数据结构可分为哪两种结构?

逻辑结构:数据对象中数据元素之间的相互关系

1.集合结构

2.线性结构:一对一

3.树形结构:一对多

4.图形结构:多对多

物理结构:数据的逻辑结构在计算机中的存储形式,也是  存储结构

1.顺序存储结构:地址连续

2.链式存储结构:地址可以连续也可以不连续

第二章 算法

1. 什么是算法?

算法是解决特定问题求解步骤的描述,在计算机中表现为指令的有限序列,并且每条指令表示一个或多个操作

2. 算法的五大特性是什么?

算法的五个基本特性:

1. 输入

2. 输出(算法至少有一个输出)

3. 有穷性

4. 确定性

5. 可行性

3. 算法设计有什么要求?

1. 正确性

2. 可读性

3. 健壮性

4. 时间效率高和存储量低

4. 算法效率的度量方法有哪些?

1. 事后统计方法

2. 事前分析估计方法

5. 算法时间复杂度:大O阶方法如何推导?

1. 用常数1取代运行时间中的所有加减法常数;

2. 在修改后的运行次数函数中,只保留最高阶项;

3. 如果最高阶项存在且不是1,则去除与这个项相乘的常数;

4. 得到的结果就是大O阶

6. 时间复杂度耗时排序?

O(1) < O(logN) < O(N) < O(NlogN) < O(N^2)  < O(N^3) < O(2^N) < O(N!) < O(N^N)

7. 什么是算法的空间复杂度?

算法的空间复杂度是通过计算算法所需的存储空间实现

第三章 线性表

1. 什么是线性表?

List:零个或多个数据元素的有限序列(序列:说明元素之间有顺序、有限:说明线性表是有限的)

2. 什么是线性表的顺序存储结构?

是指用一段地址连续的存储单元依次存储线性表的数据元素

3. 顺序存储结构的线性表 地址计算方法?

存储器中的每个存储单元都有自己的编号,这个编号称为地址。

LOC(ai)= LOC(a1)+ (i - 1)* c

4. 线性表的顺序存储结构更适合执行哪些操作?

1. 适合   存取操作,其时间复杂度为O(1)

2. 不适合  插入和删除操作,其时间复杂度为O(n)

5. 什么是线性表的链式存储结构?

一个或多个结点(Node)组合而成的数据结构称为:链表

结点由两部分内容构成:数据域(存储真实数据元素)、指针域(存储下一个结点的地址)

链表的第一个结点的存储位置叫做:头指针

链表的最后一个结点指针为“空”:NULL

头结点:为了方便对链表进行操作,在链表的第一个结点前附设一个节点,就是头结点:Head

6. 单链表如何完成插入和删除操作?

1. 插入

p -> next = s -> next;      p -> next = s;   (先调整地址,在插入值,顺序不可颠倒)

2. 删除

q = p -> next;        p ->next = q ->next;

7. 线性表的链式存储结构更适合执行哪些操作?

1. 不适合   存取操作,其时间复杂度为O(n)

2. 适合  插入和删除操作,其时间复杂度为O(1)

对于插入或删除数据越频繁的操作,单链表的效率就越明显。

8. 什么是静态链表?(不是重点)

用数组代替指针,将指针地址转化为数组地址,用数组描述的链表叫做静态链表(游标实现法)。

9. 什么是循环链表?

将单链表中终端结点的指针端由空指针改为指向头结点,就使整个单链表形成一个环,这种头尾相连的单链表称为单循环链表,简称循环链表。

循环链表判定的条件为当前结点是否指向头结点:p -> next = head ,是则当前结点为尾结点rear

10. 什么是双向链表?

在单链表的每个结点中,再设置一个指向其前驱结点的指针域,在双向链表中的结点都有两个指针域,一个指向直接后继(next),一个指向直接前驱(prior)

p ->  next -> prior = p = p -> prior -> next

11. 双向链表如何完成插入和删除操作?

1. 插入(顺序很重要)

s ->prior = p;

s -> next = p-> next;

p -> next ->prior = s;

p -> next = s;

2. 删除(顺序很重要)

p -> next =  q -> next;

q -> next -> prior = p;

free(q);

《大话数据结构》框要相关推荐

  1. 《大话数据结构》读书笔记-查找

    写在前面:本文仅供个人学习使用.<大话数据结构>通俗易懂,适合整体做笔记输出,构建体系.并且文中很多图片来源于该书,如有侵权,请联系删除. 文章目录 8.1 开场白 8.2 查找概论 8. ...

  2. 《大话数据结构》读书笔记-串

    写在前面:本文仅供个人学习使用.<大话数据结构>通俗易懂,适合整体做笔记输出,构建体系.并且文中很多图片来源于该书. 文章目录 5.2 串的定义 5.3串的比较 5.4串的抽象数据类型 5 ...

  3. 大话数据结构读书笔记艾提拉总结 查找算法 和排序算法比较好 第1章数据结构绪论 1 第2章算法 17 第3章线性表 41 第4章栈与队列 87 第5章串 123 第6章树 149 第7章图 21

    大话数据结构读书笔记艾提拉总结 查找算法 和排序算法比较好 第1章数据结构绪论 1 第2章算法 17 第3章线性表 41 第4章栈与队列 87 第5章串 123 第6章树 149 第7章图 211 第 ...

  4. 《大话数据结构》1、2数据结构、算法

    大话数据结构 大话设计模式 head first设计模式 Java核心技术 卷1 深入理解Java虚拟机(JVM高级特性与最佳实践) 图解HTTP 大话数据结构 数据结构介绍, 算法推导大O阶的方法, ...

  5. 大话数据结构-栈与队列

    文章知识点来至于大话数据结构里边章节知识, 这篇主要介绍栈与队列在计算机中存储形式, 以及在某些算法领域中对栈和队列的相关应用.章节最后介绍了著名的逆波兰表达式, 以及通过算法来实现该表达式的运算过程 ...

  6. 《大话数据结构》读书笔记-图

    写在前面:本文仅供个人学习使用.<大话数据结构>通俗易懂,适合整体做笔记输出,构建体系.并且文中很多图片来源于该书,如有侵权,请联系删除. 文章目录 7.2 图的定义 7.2.1 各种图定 ...

  7. 《大话数据结构》读书笔记-栈与队列

    写在前面:本文仅供个人学习使用.<大话数据结构>通俗易懂,适合整体做笔记输出,构建体系.并且文中很多图片来源于该书. 文章目录 4.2栈的定义 4.2.1 栈的定义 4.2.2 进栈出栈变 ...

  8. 《大话数据结构》读书笔记-线性表

    写在前面:本文仅供个人学习使用.<大话数据结构>通俗易懂,适合整体做笔记输出,构建体系.并且文中很多图片来源于该书. 文章目录 3.2 线性表的定义 3.3 线性表的抽象数据类型 3.4 ...

  9. 《大话数据结构》样章试读

    <大话数据结构>样章试读 各位童鞋,<大话数据结构>从写作到出版,虽然经历了一些坎坷,但终于还是在今天正式在一些网店发售了.现在提供两章的完整版试读PDF文件,希望能给您有所 ...

最新文章

  1. 微擎url模式解读_微擎开发文档之微擎执行主流程介绍
  2. python __call__的作用,是可以将对象作为方法使用的关键 分析nn.Module源码
  3. Spring bean - scope详解
  4. javascript 模板引擎基本原理
  5. Python 内置模块之 logging
  6. java不同进程的相互唤醒_Java多线程(二)同步与等待唤醒
  7. [转载] python中字符串编码形式及其所占字节
  8. 自动设置图片的序号_编写学位论文时如何给表格和图片自动编号
  9. 构建官方CoreOS COSA 镜像并构建 CoreOS
  10. hexo init报错
  11. 转 疯狂代码 大型网站架构系列(未完待续)
  12. CVE-2017-0143(远程溢出)漏洞复现
  13. 停下来想一想:你为什么会离开游戏行业?
  14. 你知道JavaScript的继承有几种写法吗?
  15. Dep包管理的主要机制
  16. 明德扬XILINX-K7-325T/410T核心板数据手册
  17. 云服务器物理机在,一个云服务器会在两个物理机上吗
  18. MySQL讲义第 39 讲——select 查询之函数(2):日期时间型函数
  19. Excel1——复制txt数据到Excel单元格并批量截取获得所需数据
  20. 小程序统一服务消息接口

热门文章

  1. 如何快速搭建图片服务器
  2. 智云通CRM:客户说“不要赠品,给我便宜点”,如何回应才能顺利成交?
  3. Linux - 认识shell的解释行(Shebang)
  4. 多重背包问题大全(超详细)
  5. 基本注解详解@RequestMapping,@GetMapping
  6. SortedMap的用法
  7. [golang爬虫实战]到sohu上爬取搞笑gif图片
  8. POC测试14家!江苏农信上线首个大规模OpenStack农信云
  9. linux 简单的oops察看
  10. 平板连接路由器掉线问题