数据算法_数据结构与算法

本文详细介绍了数据结构的基本概念,包括线性表、栈、队列、串、多维数组、广义表、树、图、查找和排序等。重点讨论了线性表的顺序存储和链式存储,以及算法的时间复杂度分析。此外,还涵盖了各种数据结构的操作和典型应用,如单链表、循环链表、双向链表、栈的应用、递归、汉诺塔问题、迷宫实验、二叉树遍历、哈夫曼树、图的最小生成树、拓扑排序、单源最短路径算法等。
摘要由CSDN通过智能技术生成

根据MOOC上课程总结,文章目录为:

一、引论

  1. 数据结构的基本概念
  2. 数据的逻辑结构和存储结构
  3. 算法及其时间复杂度
  4. 时间复杂度及应用

二、线性表

  1. 线性表的概念及顺序存储
  2. 单链表的概念及其基本操作
  3. 建立单链表
  4. 循环链表
  5. 双向链表
  6. 一元多项式的表示和运算

三、栈和队列

  1. 栈的概念及其基本操作
  2. 栈的概念及其基本操作—双端栈
  3. 栈的应用—递归及汉诺塔问题
  4. 栈的应用—迷宫实验
  5. 队列的概念及基本操作
  6. 队列的概念及应用—链队列
  7. 表达式的求值问题
  8. 递归与分治算法

四、串

  1. 串的基本操作
  2. 串的简单模式匹配
  3. 串的KMP模式匹配算法
  4. 模式串的next值计算思
  5. 模式串的next值计算实现
  6. 模式串的nextval值

五、多维数组和广义表

  1. 数组的定义与顺序存储
  2. 矩阵的压缩存储
  3. 三元组矩阵的快速转置
  4. 广义表

六、树

  1. 二叉树的性质
  2. 二叉树的顺序存储
  3. 二叉树的遍历
  4. 统计叶子结点
  5. 计算二叉树的高度
  6. 二叉树的恢复建立
  7. 二叉树的非递归遍历
  8. 线索二叉树
  9. 线索二叉树的遍历
  10. 树和森林
  11. 树与森林的遍历
  12. 哈夫曼树
  13. 哈夫曼编译码
  14. 哈夫曼编码算法
  15. 解空间树及其相关算法

七、图

  1. 图的基本概念
  2. 图的存储
  3. 图的深度优先遍历
  4. 图的广度优先遍历
  5. 图的最小生成树-Prim算法思想
  6. 图的最小生成树-Prim算法实现
  7. 图的最小生成树-Kruskal算法
  8. 图的拓扑排序思想
  9. 图的拓扑排序实现
  10. 图的关键路径思想
  11. 图的关键路径实现
  12. 图的单源最短路径-Dijkstra思想
  13. 图的单源最短路径-Dijkstra实现
  14. 贪心算法

八、查找

  1. 顺序查找
  2. 折半查找
  3. 二叉排序树的基本概念与查找
  4. 二叉排序树的插入与生成
  5. 二叉排序树的删除
  6. 哈希表基本概念
  7. 哈希函数
  8. 哈希处理冲突

九、排序

  1. 排序基本概念
  2. 直接插入排序
  3. 希尔排序
  4. 冒泡排序
  5. 快速排序
  6. 选择排序
  7. 树形排序
  8. 堆排序
  9. 归并排序
  10. 基数排序

正文

一、引论

(一)数据结构的基本概念

niklaus wirth计算机科学家说过:

算法+数据结构=程序。

algorithm+data structures=programs

程序设计:为计算及处理问题编制的一组指令集和。

算法:处理问题的策略。

若有一个实际的问题需要用程序设计实现,那么第一步就要先做数据抽象,抽象出它的数学模型。然后对数据进行组织,如何组织、存储、计算就是数据结构要研究的范畴。

对于数值型数据如结构静力分析计算(线性代数方程组)、全球天气预报(环流模式方程/球面坐标)比较好处理,但是对于很多非数值型的计算,程序设计要解决两个关键问题:

①表示:对象及其关系在计算机中的表示。只有对象及其相互关系已存储在计算机中,才能被进一步处理。

②操作:对对象进行处理,访问。

A、数据结构的分类

1、线性结构

例子1:超市商品管理。对商品的各种信息如何加以组织和存储。

数据对象:商品。如W1是方便面,W2是洗发水,W3是鸡精。。。这是一个表结构。

关系:线性。W1后面是W2,W2后面是W3。。。

0789718a7dfa09cd38acadc0109f08db.png

2、树型结构

例子2:计算机对弈。象棋 五子棋 三子棋等。

操作对象:格局(棋盘状态)

元素间的关系:树(有比赛规则决定)

3060ffea8b446051a6674dbd18de603f.png
树形结构

西北大学郝克刚博导编程的感悟:

264acb3bcae1f6f893918fdeb6ddddb7.png

3、图结构

例子3:元素间的关系为图。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值