
数据结构与算法
文章平均质量分 95
按照DataWhale的顺序来进行学习
Y_fulture
这个作者很懒,什么都没留下…
展开
-
优先队列及其相关题目(python,更新中)
优先队列1. 优先队列简介2. 适用场景3. 优先队列的实现4. 二叉堆实现的优先队列5. 优先队列相关题目239.滑动窗口最大值347.前K个高频元素1. 优先队列简介优先队列(Priority Queue):一种特殊的队列。在优先队列中,元素被赋予优先级,当访问队列元素时,具有最高优先级的元素最先删除与普通队列最大的不同:出队顺序,在优先队列中,具有最高优先级的元素最先出队普通队列的出队顺序跟入队顺序相关,符合**先进先出(First in, First out)**的规则。而优先队列的出队顺原创 2022-01-23 16:24:15 · 1580 阅读 · 0 评论 -
Python队列与广度优先搜索(BFS)及其相关题目(更新中)
队列与广度优先搜索及其相关题目1. 队列基础知识1. 队列简介1. 队列基础知识1. 队列简介定义队列(Queue):一种线性表数据结构,是一种只允许在表的一端进行插入操作,而在表的另一端进行删除操作的线性表队尾(rear):队列中允许插入的一端队首(front):队列中允许删除的一端空队:队列中没有任何元素时基本操作插入,也称为入队删除,也称为出队与栈的 先进后出 不同,队列是一种 先进先出(First In First Out)的线性表,简称为 FIFO 结构...原创 2022-01-22 19:46:54 · 1962 阅读 · 0 评论 -
单调栈及其相关题目
单调栈1. 单调栈简介1.1 单调递增栈1.2 单调递减栈2. 单调栈的适用场景3. 单调栈模板3.1 单调递增栈模板3.2 单调递减栈模板4. 单调栈相关题目496.下一个更大元素I[739.每日温度]1. 单调栈简介单调栈(Monotone Stack):一种特殊的栈。在栈的先进后出规则基础上,要求从栈顶到栈底 的元素是单调递增(或者单调递减)。其中满足从栈顶到栈底(在本文中是,有的文章中顺序与此相反)的元素是单调递增的栈,叫做「单调递增栈」。满足从栈顶到栈底的元素是单调递减的栈,叫做「单调递减栈原创 2022-01-19 14:54:43 · 1318 阅读 · 0 评论 -
堆栈知识及其相关题目(持续更新中)
堆栈1. 堆栈基础知识1.1 堆栈简介1.2 堆栈的顺序存储与链式存储1. 堆栈基础知识1.1 堆栈简介定义堆栈(Stack):简称为栈。一种线性表数据结构,是一种只允许在表的一端执行插入和删除操作的线性表。栈顶(Top):栈中允许插入和删除的一端栈底(Bottom):不是栈顶的另一端空栈:没有任何元素的栈特点:后进先出(Last In First Out),即LIFO结构相关解释线性表:栈首先是一个线性表,栈中元素具有前驱后继的线性关系。栈中元素按照次序依次进栈根据堆栈的定义,每原创 2022-01-18 16:14:40 · 1561 阅读 · 0 评论 -
python链表及其相关题目(更新中)
链表1. 链表简介1.1 定义:二级目录三级目录1. 链表简介1.1 定义:链表(Linked List):一种线性存储结构。它使用一组任意的存储单元(可以是连续的或不连续的),来存储一组具有相同类型的数据链表,是实现线性表的链式存储结构的基础二级目录三级目录...原创 2022-01-13 19:22:16 · 2059 阅读 · 0 评论 -
双指针算法以及滑动窗口Python(及其相关题目)(待更新)
双指针1. 双指针基础知识1. 双指针简介2. 对撞指针3. 快慢指针4. 分离双指针2. 滑动窗口2.1 算法介绍2.2 适用范围:2.3 固定长度窗口2.4 不定长度窗口3. 双指针相关题目:2.1 对撞指针167.两数之和||输入有序数组125.验证回文串344.反转字符串15.三数之和2.2 快慢指针80.删除有序数组中的重复项||283.移动零2.3 分离指针88.合并两个有序数组1. 双指针基础知识1. 双指针简介双指针(Two Pointers):在遍历元素的过程中,不是使用单个指针进行原创 2021-11-27 23:28:20 · 1593 阅读 · 0 评论 -
二分查找的python实现(及相关题目)
二分查找1. 二分查找相关知识1.1 算法介绍:1. 二分查找相关知识1.1 算法介绍:二分查找算法(Binary Search Algorithm):也叫做折半查找算法、对数查找算法。是一种在有序数组中查找某一特定元素的搜索算法。注意, 有序数组中的一种搜索算法,有序数组中的一种搜索算法,有序数组中的一种搜索算法。当你看到有序数组时,就可以往二分查找这里想一想,看看能否运用。基本思想:先确定带查找元素所在的区间范围,再逐步缩小范围,直到找到元素或找不到元素为止。...原创 2021-11-24 17:13:23 · 2089 阅读 · 0 评论 -
排序算法的python实现(以及相关题目)(待更新)
排序算法1. 五种排序算法实现1.1 冒泡排序(Bubble Sort)1.2 选择排序(Selection Sort)3. 插入排序(Insertion Sort)2. 相关题目:[剑指offer 45. 把数组排成最小的数](https://leetcode-cn.com/problems/ba-shu-zu-pai-cheng-zui-xiao-de-shu-lcof/).283.移动零.912.排序数组.1. 五种排序算法实现相关原理请点击此链接.1.1 冒泡排序(Bubble Sort)原创 2021-11-21 19:24:02 · 1839 阅读 · 1 评论 -
1.数组基础
数组基础1. 数组简介1.1 数组定义1.2 数组的随机访问1.3 多维数组1.4 不同语言的数组的实现2. 数组的基本操作2.1 查:ls[i]2.2 改:ls[i] = val2.3 增2.4 删3. 数组的基础题目[66. 加一](https://www.youkuaiyun.com/)1. 将数组转换为整数在转换为数组2. 找出最长的后缀724:寻找数组的中心下标.1. 计算前缀和与后缀和1. 数组简介1.1 数组定义数组(Array): 一种线性表数据结构。它使用一组连续的内存空间,来存储一种具有相同类原创 2021-11-17 14:12:08 · 491 阅读 · 0 评论 -
2021-11-15 数据结构与算法简介
数据结构与算法简介,Leetcode入门及攻略1. 数据结构与算法1.1 相关定义1.2 为什么要学习算法和数据结构1.3 数据结构1.3.1 数据的逻辑结构1.3.2 数据的物理结构1.4 算法1.4.1 算法的基本特性1.4.2 算法追求的目标2. 算法复杂度2.1 时间复杂度2.1.1 渐进符号2.1.2 时间复杂度的计算2.1.3 最佳, 最坏,平均时间复杂度2.2 空间复杂度1. 数据结构与算法数据结构是程序的骨架,而算法则是程序的灵魂1.1 相关定义算法(Algorithm): 解决原创 2021-11-15 15:53:43 · 862 阅读 · 0 评论