B站-1.序

12

数据结构的定义: 我们如何把现实中的大量而复杂的问题以特定的数 据类型和特定的存储结构和特定的存储类型保存在 主存储器内(内存中)。 以此基础上实现某个相应的操作,这个操作叫算法

数据结构=个体+个体关系 算法=对存储数据的操作 广义算法 算法与存储是没有关系的 狭隘算法 存储方式不同执行的算法不同

算法:解题的方法和步骤

衡量算法的标准 1.时间复杂度 大概程序要执行的次数,而非执行的时间 2.空间复杂度 算法执行过程中大概所占用的最大内存 3.难易程度 4.健壮性

数据结构的地位:核心课程

程序=数据结构+算法

预备知识: 定义: 地址:内存单元的编号 (CPU 地址线(确定地址) 控制线(读、写) 数据线(传输))-> 内存 从0开始的非负整数 范围欸:0 -- FFFFFFFF (4G-1) 指针:指针就是地址,地址就是指针 指针变量就是存放内存单元地址的变量 指针的本质是一个操作受限的非负整数 分类: 1.基本指针的分类 2.野指针 结构体 动态内存的分配和释放

一位数组名是个指针常量,存放第一个元素 a[i]=*(a+i) a=&a[0]

模块一:线性结构

  • 连续存储[数组]
  • 离散存储[链表]
  • 线性结构的两种常见应用之一栈
  • 线性结构的两种常见应用之一队列

模块二:非线性结构

模块三:查找和排序

  • 折半查找
  • 排序:
  • 冒泡
  • 插入
  • 选择
  • 快速排序
  • 归并排序