数据结构
一些数据结构知识
qq_45849888
安静地写一些学习总结。
展开
-
(十五)数据结构插入排序之直接插入排序
直接插入排序文章目录1.直接插入排序算法描述2.排序代码3.运行效果展示4.时间复杂度分析5.结束语1.直接插入排序算法描述为了方便理解我们可以把待排序元素分在两个集合中,在排序开始前,第一个集合为空(第一个集合中存储的就是有序的数据元素),第二个集合存储还未进行排序的元素。那么排序的过程就是从第一个元素开始,加入到第一个集合中(第一个集合无需比较),第二个元素从头开始遍历第一个集合,如果...原创 2020-02-22 23:47:13 · 225 阅读 · 0 评论 -
(十四)数据结构之平衡二叉树
利用平衡二叉树进行动态查找文章目录1.什么是平衡二叉树2.与二叉排序树的关系3.算法设计与分析(过程图解)4.难点分析5.代码实现6.运行截图7.题外话8.结束语1.什么是平衡二叉树平衡二叉树也是树的数据结构中很重要的一个组成,底部实现方面,采用二叉链表来存储二叉树;节点插入删除方面,特点是会根据当前情况调整二叉树的形态使我们的二叉树始终满足一定的要求和规则,大大提高了二叉树应用的普遍性和查...原创 2020-02-21 14:37:31 · 333 阅读 · 0 评论 -
(十三)数据结构动态查找之二叉排序树查找
数据结构之排序二叉树动态查找文章目录1.内容概述2.算法分析3.代码实现4.实际应用5.结束语(一点祝愿)1.内容概述 这篇博客主讲:1.怎么建立排序二叉树 2.怎么实现动态查找(即插入与删除)3.性能如何2.算法分析 算法分析:1.建立排序二叉树。所谓排序二叉树在我们上一篇博客中也有提到,实际上可以说排序二叉树就脱胎于折半查找,只是这一章以树的数据结构来存储信息并且也可以给我们提供动...原创 2020-02-13 21:07:39 · 1474 阅读 · 0 评论 -
(十二)数据结构之静态查找
数据结构静态查找:顺序查找、折半查找、斐波那契查找、索引顺序表查找文章目录1.内容概括2.顺序查找算法分析2.1优缺点2.2代码实现2.3一点改进3.折半查找算法分析3.1 优缺点3.2代码实现4.*斐波那契查找算法分析4.1优缺点4.2代码实现5.索引顺序表查找算法分析5.1优缺点5.2代码实现5.3一点改进6.End1.内容概括 大致内容: 介绍几种静态查找方法的算法分析,代码实现过程以...原创 2020-02-13 00:27:05 · 558 阅读 · 0 评论 -
(十一)图的深度遍历、广度遍历
利用邻接表对无向连通图进行深度遍历和广度遍历文章目录利用邻接表对无向连通图进行深度遍历和广度遍历1.深度遍历过程详解2.广度遍历过程详解3.代码实现4.一点注意5.End1.深度遍历过程详解 1.过程详解:首先选择一个节点开始遍历,选择与其相邻的一个节点,然后访问此节点啊,再次选择与先择选中的节点相邻的节点进行访问,重复此过程直到某一个节点的所有邻接点都已经被访问过。此时进行回溯,回溯到上一...原创 2020-02-07 19:00:13 · 561 阅读 · 0 评论 -
(十)数据结构之十字链表
文章目录1,内容概述2,什么是十字链表3,十字链表应用4,十字链表算法分析5,实现代码6,运行截图7,一点注意8,ending1,内容概述 主要介绍数据结构图的存储结构之一:十字链表的实现。2,什么是十字链表 十字链表是图的邻接表与逆邻接表相结合的一种存储结构。(传送门 :邻接表、邻接矩阵数据结构) 特点:源于邻接表、逆邻接表却胜于它们,十字链表将弧尾节点相同的弧串联在一条链表上,将弧首...原创 2020-02-05 00:02:47 · 3839 阅读 · 1 评论 -
(九)数据结构之邻接矩阵、邻接表存储图
文章目录1,邻接矩阵简述1.1,邻接矩阵适用情况2,邻接表简述2.1,邻接表适用情况3,邻接矩阵实现代码3.1,运行截图4,邻接表实现代码4.1,运行截图5,ending1,邻接矩阵简述 邻接矩阵:采用二维数组的形式来存储图或网。有向、无向图,有向、无向网都可以采用邻接矩阵的方式存储,下面分别分析一些需要注意的细节点:1,有向图:有向图的邻接矩阵不根据主对角线对称2,无向图:根据主对角线...原创 2020-02-03 23:33:34 · 1785 阅读 · 0 评论 -
(八)数据结构之哈夫曼(树)编码
文章目录0,一点注意1,内容概述2,建立哈夫曼树算法分析3,获取哈夫曼编码算法分析4,代码4,遇到了困难5,ending0,一点注意 需要注意的是其实我在之前就已经发过关于建立哈夫曼树,获取哈夫曼编码的的博客(哈夫曼树、哈夫曼编码),这一篇文章更具体,还附带了具体的算法分析。而这一篇只是复习。1,内容概述 这篇博客主要内容是关于如何通过存有权重的数组建立哈夫曼树,并得到哈夫曼编码。2,建...原创 2020-02-01 22:52:47 · 264 阅读 · 0 评论 -
(七)数据结构之双向线索链表
文章目录1, 文章内容概述(利用先、中、后序双向线索链表遍历二叉树)2, 算法思路分析3,代码4,应用5,ending1, 文章内容概述(利用先、中、后序双向线索链表遍历二叉树) 这篇博客主要写在将二叉树线索化之后(分别先序、中序、后序线索化,见我之前的博客,传送门:前、中、后序线索化二叉树),根据得到的双向二叉链表来打印二叉树的具体操作。2, 算法思路分析 1.先序:先序思路和实现比较简...原创 2020-01-31 21:08:41 · 362 阅读 · 0 评论 -
(六)数据结构之先、中、后序线索化二叉树
文章目录1. 递归线索化二叉树算法分析2. 非递归线索化二叉树算法分析3. 二叉树线索化的应用4. 代码5. ending1. 递归线索化二叉树算法分析 采用递归线索化二叉树非常的方便简单,与三序(先、中、后)遍历二叉树的算法颇为相似。只是在遍历二叉树的过程中,如果有节点的左子树为空那么将左标记改为线索,左孩子指针指向前驱(若是第一个节点就置为空),如果节点右子树为空那么将右标记改为线索,右孩...原创 2020-01-30 15:41:51 · 463 阅读 · 0 评论 -
(五)数据结构之递归、非递归三序遍历二叉树
文章目录1. 递归遍历1.1 先序遍历 1.1.1 思路1.1.2 代码1.2 中序遍历1.2.1 思路1.2.2 代码1.3 后序遍历1.3.1 思路1.3.2 代码2. 非递归遍历2.1 先序遍历2.1.1 思路2.1.2 代码2.2 中序遍历 (中序相对较难一点)2.2.1 思路2.2.2 代码2.3 后序遍历 (怎么感觉比中序还麻烦...)2.3.1 思路2.3.2 代码3. E...原创 2020-01-21 15:15:57 · 330 阅读 · 0 评论 -
(四)数据结构之循环队列
数据结构之循环队列一个误区一点注意代码ending1. 一个误区之前不采用STL实现双端队列时我记得我就是使用了循环队列。。。其实这是不规范的(虽然说使用很灵活,但我觉得还是应该分开来,避免弄混)。所以误区就是,循环队列是不允许弹出队尾或添加队首的 ,也就是说它是最传统的队列,严格符合 “先进先出,后进后出” 的特点!2. 一点注意判断队列是否满有两种解决方法:少用一个单元...原创 2020-01-18 22:20:38 · 194 阅读 · 0 评论 -
(三)数据结构之静态链表
数据结构之静态链表什么是静态链表注意事项实际应用源码ending1. what is 静态链表静态链表也是链表的一种。顾名思义,静态链表与可动态开辟存储空间的动态链表相对立,它占用一段连续的存储空间,并且静态链表的 “指针” 是用整型数字代表下标来表示的,并不是真正的指针。2. 注意事项它的存储空间大小是刚开始就决定好的,虽然在存储空间占满时可以按增量扩大空间,但仍是 相对...原创 2020-01-18 21:11:58 · 351 阅读 · 0 评论 -
(二)数据结构之顺序线性表
(二)数据结构之顺序线性表一些注意事项代码另外1. some 注意事项线性表分为顺序和链式两种,根据具体需求来选择。顺序线性表占用一块 连续 的地址存储数据。而链式则不遵循这种在物理上的先后顺序,遵循逻辑先后。需要特别注意下标越界的情况!很容易犯错误!2. 代码(code)比较简单,没有什么好说的。#include<iostream>#include<...原创 2020-01-17 23:45:07 · 185 阅读 · 0 评论 -
(一)数据结构之浅谈数据结构
数据结构之浅谈数据结构什么是数据结构什么是时间、空间复杂度数据结构的应用结尾1. what is 数据结构 (or Why 数据结构)我的理解:顾名思义,数据结构就是数据存储的结构。比如要全部存储一个年级全部学生的信息(包括年级、学号、姓名以及性别等),那么这些学生的信息在内存当中存储的逻辑存储结构就可以采用顺序存储结构(结构体数组就是其中一种,如下代码作示例),也可以为链式存储...原创 2020-01-17 22:20:24 · 244 阅读 · 0 评论 -
数据结构:全面总结传送门
数据结构全面总结正值寒假,想花费假期15天左右的时间将数据结构这本书上所有的算法按照书的目录顺序全部用c++/c(其实这里差别不是很大)代码实现一遍,自己再次熟悉所有算法用法的同时贴出源代码帮助有需要的朋友。(我现在也不是很清楚15天时间是太多还是太少,干就完事了,加油!)后续每写一篇都将在这一篇下面附上传送门方便大家浏览~代码传送门未完待续...原创 2020-01-17 22:26:22 · 171 阅读 · 0 评论