数据结构与算法(1) 常见概念和目录

基本概念部分

数据:对客观事物的符号表示。

数据元素:数据的基本单位,数据结构讨论的最小单位。有时,一个数据元素可以由若干个数据项组成(例如,一个人是一个数据元素,身高、体重等是这个人的数据项)。

数据对象:数据对象是性质相同的数据元素的集合。

数据结构:相互存在的一种或者多种特定关系的数据元素的集合。

逻辑结构:对数据之间关系的描述,与数据的存储结构无关。一般分为三种结构:

(1)线性结构:包括数组、链表、栈、队列等。

(2)树形结构:树、堆

(3)图形结构:图

存储结构(物理结构):数据元素的表示和关系的表示。一般分为四种:
(1)顺序存储方法:如数组。

(2)链式存储方法:如链表。

(3)索引存储方法:比如索引表

(4)散列(哈希)存储方法:通过散列(哈希)函数来区分节点与寻找节点。

算法的特性:5个
(1)有穷性:有限步之后结束。

(2)确定性:每个步骤必须由确定的定义

(3)可行性:必须通过已经实现的基本操作且必须是有限次

(3)输入:0个、1个或者多个

(4)输出:1个或者多个

算法效率的衡量:复杂度

时间复杂度:算法中基本操作的执行次数。

        - 迭代方法的时间复杂度

        - 递归方法的时间复杂度

空间复杂度:算法在运行时所需存储空间的度量。

目录部分

(注:该部分并不完善,后面存在修改的可能)

线性表

数组:数组的常用操作

链表:单向链表的创建(头插法、尾插法),链表的常用操作,双向链表和循环链表

栈和队列:顺序栈(队列)的创建,栈和队列的常用操作,链栈和链队列,共享栈和双端队列

串:

串的基本存储结构,串的基本操作,简单模式匹配算法,KMP和改进KMP算法

矩阵和广义表:

矩阵的压缩存储,广义表

树:

树的存储结构,二叉树的创建,二叉树的(改进)遍历算法,树与二叉树转换,二叉树和森林转换

二叉排序树和平衡二叉树,Huffman树和Huffman编码

堆:

并查集:

图:

图的存储结构:邻接矩阵,邻接表

图的遍历算法:DFS和BFS

最小生成树:普利姆算法和克鲁斯卡尔算法

最短路径:dijkstra算法和弗洛伊德算法

拓扑排序,关键路径

排序:

排序算法的分类

插入类排序:直接插入,折半插入,希尔排序

交换类排序:起泡排序,快速排序

选择类排序:简单选择排序,堆排序

二路归并排序

基数排序

外部排序:置换-选择排序,最佳归并树,败者树

查找:

顺序查找法,折半查找法,分块查找法

二叉排序树,平衡二叉树,红黑树

B-树

散列表的建立和冲突解决,散列表的性能分析

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值