1、什么是数据结构?

程序设计=数据结构+算法

物理结构+逻辑结构=数据结构

一、4大逻辑结构:

集合结构,

数据结构和算法绪论

线性结构,

数据结构和算法绪论

树形结构,

数据结构和算法绪论

图形结构,

数据结构和算法绪论

二、物理结构

顺序存储结构,

数据结构和算法绪论

链式存储结构,(指针也需要存储空间)

数据结构和算法绪论

1、算法概念

不同的算法可以提高计算相同算术题的效率,那么算法的研究就变得有意义了。

2、算法的特性

输入

输出

有穷性(执行有限的步骤)

确定性(每一个步骤仅有一个含义)

可行性

3、算法设计要求

没有无法错误、有合法输入和输出

4、算法效率

度量方法:

事前分析估算方法,

5、算法时间复杂度 O(n)

 

数据结构和算法绪论

数据结构和算法绪论

key:执行次数==时间

大O阶的推导方法,

线性阶,平方阶,对数阶,

 6、算法的空间复杂度

1、线性表

什么是线性表?

例如:按照学号排序的班级花名册,同一个学号不可能有2名相同的同学;

什么是抽象数据类型?

int 、float、char等这种相同类型的数据集合整合在一块称之为抽象数据类型;

什么是线性表的抽象数据类型?

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

插入操作、删除操作;   

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

元素+指针(指向下一个元素的)

头指针、头节点

数据结构和算法绪论

单链表读取核心思想:“工作指针后移”;

 如何单链表的整表创建?

动态建立;插队方法;

头插法+尾插法

如何单链表整表删除?

2、什么是静态链表?

游标+数据+下标

 插入操作、删除操作

快慢指针

3、什么是循环链表?

数据结构和算法绪论

什么是约瑟夫问题?

什么是魔术师发牌问题+拉丁方阵?

掌握一门语言不变的性质,才能学得好程序语言。

4、什么是双向链表?

前驱节点+后继节点

数据结构和算法绪论

多了一个prior指针

1、栈和队列

push(入栈)+pop(出栈)

进制转换,节省显示空间。

2、栈的链式存储结构

数据结构和算法绪论

逆波兰表达式(RPN);

逆波兰计算器

数据结构和算法绪论

数据结构和算法的作用:

数据结构和算法绪论

 中缀表达式转换为后缀表达式

3、什么是队列?

数据结构和算法绪论

 

1、递归

数据结构和算法绪论

数据结构和算法绪论

 

2、顺序存储二叉树

通常情况只考虑完全二叉树;

堆排序

3、线索二叉树

数据结构和算法绪论

 

 

相关文章:

  • 2021-08-13
  • 2021-11-22
  • 2022-01-22
  • 2021-12-31
  • 2021-11-14
  • 2021-04-05
  • 2021-08-19
猜你喜欢
  • 2022-01-23
  • 2021-04-11
  • 2022-02-26
  • 2021-07-06
  • 2021-05-27
  • 2021-06-24
相关资源
相似解决方案