DS-1. 数据结构(data structure)

数据结构

Author:吾爱北方的母老虎

原创链接:https://blog.csdn.net/weixin_41010198/article/details/80196113


1. 算法简介

2. 选择排序

    2.1 链表

    2.2 数组

3. 递归

    3.1 递归

    3.2 栈

4. 快速排序

    4.1 分而治之

    4.2 快速排序

5.散列表

6. 广度优先搜素

    6.1 图

    6.2 广度优先搜索

    6.3 狄克斯特拉算法(相当于是对广度优先搜索算法在时间(权重)上不足的优化)

7. 贪婪算法

8. 动态规划

9. K近邻算法



1. 逻辑结构:数据中各元素之间的关系,集合、线性结构、树结构、图结构

集合:集合结构是数据中各个元素之间没有任何次序


线性结构:数据中各元素之前有1对1的先后次序关系


树结构:数据中各元素之间有1对多的先后次序关系


图结构:数据中各元素之间有多对多的关系



2. 数据的存储结构:顺序存储、链接存储、索引存储、散列存储等

顺序存储:把逻辑上相邻的节点存储在物理位置相邻的存储单元里。

链接存储:不要求逻辑上相邻的节点在物理位置上也相邻,节点间的的逻辑关系是由附加的指针段表示。

索引方法:是顺序存储的推广,存储节点信息的同时要建立一个索引表,表中的每一项被称为索引项,索引由关键字和地址组成。

散列存储:以集合和线性表中的每个关键字为自变量,通过函数计算出函数值,把这个值解释为存储空间的单元地址,将这个元素存储到这个单元中。


3. 算法的特征:有输入、有输出、确定性、有穷性、可行性

    算法的设计要求:正确性、可使用性、的读性、效率(计算机资源的开销,包括存储和运行时间的开销,即空间代价和时间代价)、健壮性


4.算法效率的度量:时间复杂度和空间复杂度

  时间复杂度:指解决问题的算法在执行时所耗费的时间,需要考虑的关键是程序的步数,在大多数场合下程序的步数与执行的频    率是一一对应的

  时间复杂度用大O表示法进行表示:T(n)=f(n)=O(n)

  空间复杂度:指解决问题的算法在执行时所占用的存储空间

常用的时间复杂度:






猜你喜欢

转载自blog.csdn.net/weixin_41010198/article/details/80196113