数据结构与算法
数据结构与算法是程序的灵魂,是朴素的基础,学好它有有助于理解各种上层抽象。
Super__Tiger
专注于人工智能及其应用等知识领域的养成系博主!(づ ̄3 ̄)づ╭~
展开
-
数据结构详解笔记:第七章 查找
第七章 查找查找的概念:查找:在数据集合中寻找满足某种条件的数据元素的过程称为查找。查找表(查找结构):用于查找的数据集合称为查找表,它由同一类型的数据元素(或记录)组成。关键字:数据元素中唯一标识该元素的某个数据项的值,使用基于关键字的查找,查找结果应该是唯一的。查找算法的评价指标:查找长度:在查找运算中,需要对比关键字的次数称为查找长度。平均查找长度ASL(Average Search Length):所有查找过程中进行关键字的比较次数的平均值。顺序查找:正常查找:typedef原创 2020-09-25 17:49:46 · 354 阅读 · 0 评论 -
数据结构详解笔记:第八章 排序
前言本章主要详解了排序的常规算法总结,以及相关排序算法的时间和空间复杂度分析。其中包括插入排序及其与优化算法,希尔排序、交换排序(冒泡排序、快速排序)、选择排序(简单选择排序、堆排序)、归并排序和基数排序,外部排序及其优化算法(引入败者树和最佳归并树)等详细的排序算法代码实现等内容。文章目录前言插入排序优化—折半插入排序希尔排序交换排序冒泡排序快速排序选择排序简单选择排序堆排序建立大根堆:在小根堆中插入新元素:在大根堆中插入新元素:归并排序基数排序基数排序的算法基数排序擅长解决的问题:外部排序败者树多路原创 2020-09-25 17:37:43 · 517 阅读 · 0 评论 -
数据结构详解笔记:第六章 串
前言本章主要详解了串的基本操作,串的匹配问题,朴素模式和KMP算法匹配等内容。文章目录前言串的定义:串的基本操作:串的朴素模式匹配算法:串的KMP算法(朴素模式匹配算法的优化):KMP算法优化(nextval数组):串的定义:串,即字符串(String)是由零个或多个字符组成的有限序列。子串:串中任意个连续的字符组成的子序列。主串:包含子串的串。字符在主串中的位置:字符在串中的序号。子串在主串中的位置:子串的第一个字符在主串中的位置。串是一种特殊的线性表,数据元素之间呈线性关系。串的数据原创 2020-09-25 16:51:20 · 527 阅读 · 0 评论 -
数据结构详解笔记:第五章 图
前言本章主要详解了图的基本概念和存储,以及增删改查等操作实现,还有图的遍历和经典应用。其中包括使用邻接表存储图和邻接矩阵存储图、图的深度优先遍历和广度优先遍历,以及很重要的图的相关应用算法—最短路径求解(BFS算法、Dijkstra算法、Floyd算法),拓扑排序的算法和实现,关键路径的求解算法等内容。文章目录前言总览:① 图的基本概念图的定义:无向图:有向图:子图:顶点的度、入度、出度:顶点-顶点的关系描述:连通分量:生成树:生成森林:常见考点的总结:②图的储存及基本操作邻接矩阵存储图:邻接矩阵存储无原创 2020-09-25 16:43:31 · 645 阅读 · 0 评论 -
数据结构详解笔记:第四章 树与二叉树
前言本章主要详解了树和二叉树(逻辑结构)的概念及其应用,还有二叉树的遍历和增删改查等操作。其中包括满二叉树、完全二叉树、平衡二叉树、二叉排序树和线索二叉树的相关知点,最后介绍了二叉树的应用-哈弗曼树的构造以及最小带权路径长度的求解。文章目录前言总览:①树和二叉树的概念树的的基本概念树的逻辑结构树的基本术语祖先结点和子孙结点:双亲结点和孩子结点:兄弟结点:度:分支结点和叶子结点:结点的层次和高度、深度:有序树和无序树:路径:路径长度:森林:树的性质:几种特殊的二叉树满二叉树:完全二叉树:二叉排序树:平衡二原创 2020-09-25 16:24:57 · 626 阅读 · 0 评论 -
数据结构详解笔记:第三章 栈和队列
前言本章主要详解了栈和队列以及特殊矩阵的压缩知识,其中包括栈的顺序存储和链式存储,队列的顺序存储以及链式存储,循环队列的顺序实现以及优化改进-双端队列,最后介绍了三种特殊矩阵的存储结构压缩算法。文章目录前言总览:①栈的逻辑结构栈的概念:栈的基本操作:②栈的顺序存储结构顺序栈的结构:顺序栈的基本操作:栈的初始化判断栈空进栈出栈读出栈顶元素栈的非连续输入和输出问题:合法出栈序列的个数:共享栈共享栈的概念③栈的链式存储结构④队列的逻辑结构队列的概念:队列的基本操作:⑤队列的顺序存储顺序队列的概念:链队的实现:原创 2020-09-25 14:41:25 · 570 阅读 · 0 评论 -
数据结构详解笔记:第二章 线性表
本章主要详解了线性表(逻辑结构)对应的顺序表和链表(存储结构)的实现方式,其中包含增删改查的操作的多种实现方法及代码,最后还介绍了一些特殊链表的引入,以解决现有的存储结构存在的一些问题缺陷。文章目录总览:①线性表的定义和基本操作定义:线性表的特点:线性表的九种基本操作:②线性表的顺序表示顺序表的定义:数组静态分配:数组动态分配:顺序表的基本操作的实现:插入操作:删除操作:按值查找:顺序表的合并操作:③线性表的链式表示单链表的定义:单链表的结构:引入头结点的单链表:单链表的基本操作的实现:头插法建立单链表:原创 2020-09-25 14:27:42 · 502 阅读 · 0 评论 -
数据结构详解笔记:第一章 绪论
本章主要需要了解数据结构中的一些基本概念,区别逻辑结构和物理结构。文章目录总览:①基本概念和术语总览:①基本概念和术语数据: 能够描述客观事物属性,且能够输入到计算机中被识别和处理的符号集合。数据对象: 具有相同性质的数据元素的集合,是数据的一个子集。数据元素: 数据的基本单位,通常作为个整体进行考虑和处理。数据项:构成数据元素的不可分割的最小单位。数据类型: 原子类型:值的集合+操作(int、char、float) 结构类型:结构的集合+操作(list、map、s原创 2020-09-25 14:18:53 · 379 阅读 · 0 评论