数据结构与算法
文章平均质量分 82
能不能好好学习
这个作者很懒,什么都没留下…
展开
-
数据结构与算法##5.二叉树
数据结构与算法##5.二叉树 文章目录数据结构与算法##5.二叉树一、基本概念二、遍历1.深度优先2.宽度优先三、存储结构四、二叉搜索树BST五、堆与优先队列六、Huffman树及其应用 一、基本概念 节点的有限集合构成 可为空集 根节点、左子树、右子树 父子节点,最左子节点 兄弟节点、左兄弟、右兄弟 分支节点、叶节点 边 路径,长度为路径的边数 祖先、子孙 层数(根节点为0) 深度(层数最大的叶节点层数) 高度=层数+1 满二叉树:任何节点要么左右都有或者都没有 完全二叉树:最多只有最下面的两层节点度数小原创 2021-02-19 10:56:02 · 197 阅读 · 0 评论 -
数据结构与算法##4.字符串
数据结构与算法##4.字符串 文章目录数据结构与算法##4.字符串一、基本概念二、存储结构1.顺序存储2.模式匹配 一、基本概念 元素为字符的线性表 空串不等于空格串 通常以串的整体作为操作对象 线性表的存储方法同样适用于字符串 应根据不同情况选择合适的存储表示 字符:组成字符串的基本单位 char 编码方式:ASCII, GB, CJK, UNICODE 编码表一般遵循约定俗成的偏序编码规则 字符偏序:根据字符的自然含义,某些字符间两两可以比较次序 字符串数据类型: 根据语言不同:简单类型和复杂类原创 2021-02-18 16:39:35 · 118 阅读 · 0 评论 -
数据结构与算法##1.绪论
数据结构与算法##1.绪论 教程来源于mooc 数据结构与算法 文章目录数据结构与算法##1.绪论1.问题的抽象2.数据结构2.1存储结构2.2抽象数据类型ADT3.算法3.1 定义3.2 算法的特性3.3 算法的分类3.4 算法的复杂性分析大O表示法大Ω表示法大(怎么念我忘了)表示法 1.问题的抽象 编写计算机程序的目的是解决实际的应用问题 任务需求 -> 问题模型 数据结构 -> 数学模型 设计算法 数据结构+算法 = 程序设计 农夫过河问题–最短路径问题 问题抽象:抽象出几个约束条件原创 2021-01-21 19:27:07 · 126 阅读 · 0 评论 -
数据结构与算法##2.线性表
数据结构与算法##2.线性表 文章目录数据结构与算法##2.线性表一、什么是线性表1.结构和特点2.分类3.线性表的运算二、顺序表三、链表四、顺序表和链表的比较 一、什么是线性表 简称表,有穷序列(包括空表) 表目(元素)、索引(下标)、表的长度 特点:操作灵活,长度可变 1.结构和特点 B=(K,R) ; K={a0,a1,…,an-1} R={r} 开始节点 无钱去 结束节点 无后继 其他内部节点都有唯一的的直接前驱和后继 <ai,ai+1> r为前驱和后继关系,具有反对称性和传递性原创 2021-02-01 21:33:44 · 100 阅读 · 0 评论 -
数据结构与算法##3.栈与队列
数据结构与算法##3.栈与队列 文章目录数据结构与算法##3.栈与队列一、栈1.实现方式2.表达式求值 一、栈 LIFO 限制访问端口的线性表 push pop 应用:表达式求值,消除递归,深度优先搜索,子程序/函数调用的管理 案例:火车进出栈问题 1.实现方式 顺序栈 顺序表的简化版,关键是确定哪一端作为栈顶 有上溢和下溢问题(元素超出最大数目或小于0) 链式栈 用单链表实现,指针方向自顶而下 时间效率上两者所有的操作都是常数时间,难分伯仲 空间效率上顺序栈须说明一个固定的长度,链式栈的长度原创 2021-02-04 15:39:43 · 87 阅读 · 0 评论