
数据结构
文章平均质量分 77
个人数据结构学习笔记
机械狗pp
这个作者很懒,什么都没留下…
展开
-
哈希表概念及简单实现
目录1 什么是哈希表2 哈希冲突2.1 冲突解决2.1.1 重新设计哈希函数2.1.2 闭散列(开放地址法)2.1.3 开散列(拉链法)2.2 哈希表扩容3 代码实现3.1闭散列3.1.1 查找3.1.2 插入3.1.3 删除3.2 开散列3.2.1 查找3.2.2 插入3.2.3 删除1 什么是哈希表哈希表的数据结构是一个顺序表,在存储内容时通过数组下标与数据值一一映射的方式记录。这里的一一映射关系可以用函数来表示,这样的函数叫.原创 2022-05-30 10:42:53 · 690 阅读 · 0 评论 -
数据结构--链式二叉树
文章目录一、pandas是什么?示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。二、使用步骤1.引入库代码如下(示例):import numpy as np import pandas as pd import matplotlib.pyplot as plt import seaborn as sns import warnings warnings.filterwarnings('ignore'原创 2021-11-20 20:34:10 · 1024 阅读 · 0 评论 -
数据结构--队列
文章目录一、队列是什么? 队列也是一种线性表,特性为“先进先出”。就像是我们生活中的排队,排队早的人就会早轮到。 队列只能在队头弹出和队尾插入。二、代码实现1.存储结构 队列的存储可以使用数组或者链表,由于使用数组在队头弹出时要把整个队列往前整,并不方便,因此本文这里选择的以链表的结构来实现这个队列。 节点设置与链表一样,一个数据域存数据,一个指针域存储下一个节点地址。另外为了尾插方便,定义一个结构...原创 2021-11-05 21:59:54 · 168 阅读 · 0 评论 -
数据结构--顺序表
文章目录一、顺序表结构二、常见接口函数1.初始化和销毁2.头插/删、尾插/删3.其他接口总结一、顺序表结构 顺序表是一种线性表,数据的存放地址是连续的。于是设置一个指针,通过指针的移动即可操作顺序表。本文的动态表位动态顺序表,结构体中用一个指针指向要记录数据,设置int型的大小和容量。typedef int SLDataType;typedef struct SeqList{ SLDataType* a; int size; int cap...原创 2021-10-29 19:28:53 · 145 阅读 · 0 评论 -
数据结构--常用比较排序
目录一、冒泡排序二、选择排序三、插入排序四、希尔排序五、堆排序六、快速排序6.1 key位置选择6.2 一趟排序的方法hoare版本挖坑法前后指针法6.3 完整排序七、归并排序一、冒泡排序 每个新手第一个学的排序。 一趟:将当前位置的值与下一个比较,如果当前值大于下一个位置的值则交换(升序),一趟可以做到把最大值放在最后位置。 n个数n-1躺:第一趟比较n-1次,第二趟就只要比较n-2次,最后第...原创 2021-11-20 22:17:10 · 2188 阅读 · 2 评论 -
数据结构--堆
文章目录一、堆的概念 堆是一种二叉树,ke'yi'shi二、使用步骤1.引入库代码如下(示例):import numpy as np import pandas as pd import matplotlib.pyplot as plt import seaborn as sns import warnings warnings.filterwarnings('ignore') import ssl ssl._create_default_http...原创 2021-11-20 17:30:32 · 285 阅读 · 0 评论 -
数据结构--栈
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言 一、pandas是什么? 二、使用步骤 1.引入库 2.读入数据 总结前言提示:这里可以添加本文要记录的大概内容:例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。提示:以下是本篇文章正文内容,下面案例可供参考一、pandas是什么?示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分原创 2021-10-29 20:58:07 · 100 阅读 · 0 评论 -
数据结构--链表
文章目录一、链表介绍 链表也是线性表的一种,分为数据域和指针域。数据域记录数据,指针域记录的是下一个节点的地址。由于每一个节点都有存放着下一个节点的指针,于是指针将节点一个个链接起来,整个结构就像一条链,于是称为链表。 链表分类可按照是否有头节点、单双向、能否循环。以下为单向、无头、不循环的链表结构。二、单向无头不循环链表实现1.节点结构 如上所说,结构体两个成员,一个记录数据一个记录下一个节点地址。typedef int ...原创 2021-10-29 20:27:50 · 89 阅读 · 0 评论 -
数据结构 - AVLTree
目录一、概念二、实现 2.1 节点2.2 树2.3 插入2.4 旋转2.4.1 左旋2.4.2 右旋2.4.3 右左双旋2.4.4 左右双旋2.5 验证一、概念AVL树来源于二叉搜索树。当二叉搜索树是以下单支的情况下,搜索效率退化为O(n)。为了解决这个问题,我们通过一些手段将二叉搜索树左右平衡(每一个节点的左右子树高度差不大于1),这样平衡的二叉搜索树就是AVL树。为了更好地实现AVL树,我们引入平衡因子(bal...原创 2022-05-10 11:03:50 · 237 阅读 · 0 评论 -
数据结构 - 搜索二叉树
目录一、搜索二叉树概念二、搜索二叉树实现1.完整代码2.删除2.1非递归2.2递归3.插入3.1非递归3.2递归4.查找4.1非递归4.2递归一、搜索二叉树概念搜索二叉树是一种特殊的二叉树,从根节点开始,左子树根节点的值一定当前节点值小,右子树根节点的值一定比当前节点大。 根据搜索二叉树的特点:对搜索二叉树中序遍历,就会得到一个递增的序列。可以类似二分查找,从根节点开始,查...原创 2022-04-15 11:32:25 · 2260 阅读 · 0 评论 -
数据结构 - 红黑树
目录一、红黑树概念二、代码实现1 节点定义2 树的定义3 插入3.1 情况一:u节点存在且为红3.2 情况二:u节点不存在或存在且为黑。3.3 代码实现部分4 验证一、红黑树概念红黑树,是一种二叉搜索树,但在每个结点上增加一个存储位表示结点的颜色,可以是Red或Black。红黑树就能保证其最长路径中节点个数不会超过最短路径节点个数的两倍。满足性质:1. 每个结点不是红色就是黑色2. 根节点是黑色的3. 如果一个节点是红色的,则它的两...原创 2022-05-15 16:17:06 · 567 阅读 · 0 评论