数据结构
文章平均质量分 72
不秃头的小猿
那些打不倒你的,终将使你更加强大
展开
-
C++---哈希
介绍关联式容器unordered_map,unordered_set,理解哈希概念,用闭散列和开散列方法解决哈希冲突,实现哈希桶及其迭代器,用哈希桶封装实现unordered_map,unordered_set原创 2022-11-19 18:51:12 · 2827 阅读 · 1 评论 -
C++---红黑树模拟实现STL中的map与set
简要实现用RBTree封装map和set,包括迭代器的实现原创 2022-11-07 10:42:34 · 581 阅读 · 0 评论 -
C++---红黑树介绍及简单实现
C++---红黑树性质介绍,即插入节点情况详细分析以及实现,红黑树的验证。原创 2022-11-05 21:25:05 · 574 阅读 · 0 评论 -
C++---AVL树
C++---二叉搜索树的优化:AVL数。介绍AVL数概念及实现。原创 2022-11-02 21:58:54 · 529 阅读 · 0 评论 -
C++---map和set的使用
C++----关联式容器:map,set介绍使用,键值对概念原创 2022-11-02 12:36:46 · 1127 阅读 · 0 评论 -
二叉树的链式结构及遍历
二叉树链式结构概念,前序,中序,后序及层序遍历,以及求二叉树深度,二叉树查找等实现原创 2022-09-16 18:23:44 · 407 阅读 · 0 评论 -
二叉树的顺序结构及实现
堆的顺序存储,了解向上向下调整,学会堆构建过程及原理,学习理解堆排序原创 2022-09-12 16:49:43 · 691 阅读 · 0 评论 -
树,二叉树的概念及特性
介绍树及二叉树概念及结构,便于后期实现二叉树原创 2022-09-11 22:01:52 · 360 阅读 · 0 评论 -
数据结构---队列的实现
1.队列的概念及结构队列:只允许在一端进行插入数据操作,在另一端进行删除数据操作的特殊线性表,队列具有先进先出FIFO(First In First Out)原则。入队列:进行插入操作的一端称为队尾。出队列:进行删除操作的一端称为队头。注:队列与栈可以说是互补关系,栈先进后出,队列先进先出,栈一般用数组实现,队列更习惯用链表实现。2.队列的实现 队列也可以数组和链表的结构实现,使用链表的结构实现更优一些,因为如果使用数组的结构,出队列在数组头上出数据,效率会比较...原创 2022-05-17 13:03:22 · 376 阅读 · 1 评论 -
数据结构---栈的实现
1栈的概念及结构 栈:一种特殊的线性表,其只允许在固定的一端进行插入和删除元素操作。进行数据插入和删除操作的一端称为栈顶,另一端称为栈底。栈中的数据元素遵守后进先出LIFO(Last In First Out)的原则。注:LIFO原则,即后进先出原则。压栈:栈的插入操作叫做进栈/压栈/入栈,入数据在栈顶。出栈:栈的删除操作叫做出栈。出数据也在栈顶。示意图:2栈的实现 栈的实现一般可以使用数组或者链表实现,相对而言数组的结构实现更优一些。因为数组在尾上...原创 2022-05-15 12:58:29 · 143 阅读 · 0 评论 -
数据结构---双链表
之前我们已经了解并实现了单链表,我们发现单链表实现头插头删还行,但是尾插尾删什么的需要遍历链表,使得时间复杂度增加,效率不是那么好,那么有没有改进的办法呢?今天,我们就来了解并实现一下双链表。我们知道,单链表是有一个结构体指针指向下一个节点,如图:那么双链表,顾名思义,指针指向双向,两个结构体指针,分别指向下一个节点和前一个节点。接下来就来实现双链表:新建一个头文件:List.h#pragma once#include<stdio.h>#include.原创 2022-05-14 16:25:17 · 825 阅读 · 1 评论 -
数据结构---单链表
目录1 链表的概念及结构2. 单链表的增删查改2.1 链表的打印(用于测试)2.2尾插2.3头插2.4尾删2.5头删2.6查找2.7在pos位置之前插入2.8在pos位置之前插入2.9删除pos位置的值2.10删除pos位置后一个的值1 链表的概念及结构概念:链表是一种物理存储结构上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的 。注意:1.从上图可看出,链式结构在逻辑上是连续的,但...原创 2022-04-30 16:29:48 · 605 阅读 · 0 评论 -
数据结构---顺序表
1概念及结构 顺序表是用一段物理地址连续的存储单元依次存储数据元素的线性结构,一般情况下采用数组存储。在数组上完成数据的增删查改。顺序表一般可以分为: 1. 静态顺序表:使用定长数组存储元素 2. 动态顺序表:使用动态开辟的数组存储。由于静态顺序表数组定长,所以存在数组过小不够用,数组过大空间浪费等问题。所以我们一般使用动态顺序表,接下来我们就讲解一个动态顺序表的实现。2.动态顺序表的实现首先,创建一个项目,定义一个头文件“seqlist....原创 2022-04-22 21:27:43 · 1198 阅读 · 0 评论