
邂逅数据结构与算法
文章平均质量分 95
二级分类专栏, 收集数据结构与算法相关
时间静止不是简史
想要时间静止,却敌不过事态变迁
展开
-
[数据结构与算法] 输入当前是一周的第几天, 输出今天直到三天后分别都是星期几
对该问题进行抽象, 实际上就是是: 输入当前是星期几, 输出从今到几天后所有的星期数( 都是星期几 )这个算法一种情况就是用于前端 **在下拉选择时间框的时候, 设置几天内可预约时间**我们可以先将问题具体化: **输入当前是一周的第几天, 返回今天到3天之后分别都是星期几**, 最后再进行抽象化通过对问题的梳理, 来推敲简单算法实现的过程, 并举一反三对问题进行多方位思考原创 2022-03-23 08:30:00 · 625 阅读 · 0 评论 -
[数据结构与算法] 盘点工作中常用的算法
常用算法 二分查找算法(非递归)分治问题在工作和生活中, 我们经常会遇到很多算法. 但是不同于我们之前学习的数据结构与算法, 他们更具目的性, 更加贴合我们工作需要. 下面, 就让我们一起来学习吧! 二分查找算法(非递归)介绍前面我们讲过了二分查找算法,是使用递归的方式,下面我们讲解二分查找算法的非递归方式二分查找法只适用于从有序的数列中进行查找(比如数字和字母等),将数列...原创 2020-03-26 18:29:16 · 2566 阅读 · 0 评论 -
[数据结构与算法] 图结构
图 介绍图的遍历介绍 在之前的学习中, 我们学了线性结构(数组, 链表,栈和队列)和非线性结构中的树结构. 下面就让我们学习非线性结构中的图结构吧 图出现的原因线性表局限于一个直接前驱和一个直接后继的关系树也只能有一个直接前驱也就是父节点当我们需要表示多对多的关系时, 这里我们就用到了图图的举例图是一种非线性的数据结构,其中结点可以具有零个或多个相邻元素。两个结点之间的...原创 2020-03-16 23:25:43 · 1652 阅读 · 0 评论 -
[数据结构与算法] 树结构之二叉排序树、平衡二叉树、多路查找树
树结构之BST和AVL树 BST介绍创建和遍历 删除 AVL树介绍BST介绍 需求: 给你一个数列 (7, 3, 10, 12, 5, 1, 9),要求能够高效的完成对数据的查询和添加 解决方案——使用数组数组未排序, 优点:直接在数组尾添加,速度快。 缺点:查找速度慢.数组排序,优点:可以使用二分查找,查找速度快,缺点:为了保证数组有序,在添加新数据时,找到插入位...原创 2020-03-11 22:14:12 · 1715 阅读 · 0 评论 -
[数据结构与算法]赫夫曼树与赫夫曼编码
赫夫曼树给定n个权值作为n个叶子结点,构造一棵二叉树,若该 树的带权路径长度(wpl)达到最小 ,称这样的二叉树为最优二叉树,也称为哈夫曼树(Huffman Tree), 或赫/霍夫曼树。赫夫曼树是带权路径长度最短的树,权值较大的结点离根较近。赫夫曼树几个重要概念和举例说明路径和路径长度:在一棵树中,从一个结点往下可以达到的孩子或孙子结点之间的通路,称为路径。通路中分支的...原创 2020-03-08 12:18:01 · 1786 阅读 · 0 评论 -
[数据结构与算法] 哈希表
散列表(Hash table,也叫哈希表),是根据关键码值(Key value)而直接进行访问的数据结构 。也就是说,它通过把关键码值映射到表中一个位置来访问记录,以加快查找的速度。这个映射函数叫做散列函数,存放记录的数组叫做散列表。如下图,定义了16个数组,每个数组用来存放一条链表. 在插入数据时, 首先会通过将元素值对数组个数取模来找到该元素位于哪个链表(数组), 然后再按照链表的插...原创 2020-03-02 09:50:20 · 2159 阅读 · 4 评论 -
[数据结构与算法] 查找算法
查找算法 鉴于在排序算法时, 搞得比较乱的情况, 导致查找不太方便.因此, 在写查找算法时, 我会将所有的东西都写在一起, 便于查找和阅读 在java中,我们常用的查找有四种:顺序(线性)查找二分查找/折半查找插值查找斐波那契查找线性查找思路: 如果在数组中发现满足条件的值, 就返回其下标/** * 线性查找 * @author TimePause ...原创 2020-02-28 21:54:29 · 1892 阅读 · 0 评论 -
[数据结构与算法] 排序算法之归并排序与基数排序
归并排序归并排序(MERGE-SORT)是利用归并的思想实现的排序方法,该算法采用经典的分治(divide-and-conquer)策略(分治法将问题分(divide)成一些小的问题然后递归求解,而治(conquer)的阶段则将分的阶段得到的各答案"修补"在一起,即分而治之)。基本思想可以看到这种结构很像一棵完全二叉树,本文的归并排序我们采用递归去实现(也可采用迭代的方式去实现)。分阶段可以...原创 2020-02-24 21:32:47 · 2963 阅读 · 0 评论 -
[数据结构与算法] 排序算法之直接插入排序与希尔排序
插入排序 插入式排序属于内部排序法,是对于欲排序的元素以插入的方式找寻该元素的适当位置,以达到排序的目的。 1. 直接插入排序 插入排序(Insertion Sorting)的基本思想是:把n个待排序的元素看成为一个有序表和一个无序表,开始时有序表中只包含一个元素,无序表中包含有n-1个元素,排序过程中每次从无序表中取出第一个元素,把它的排序码依次与有序表元素的排序码进行比较,将它...原创 2020-02-23 09:53:37 · 1640 阅读 · 0 评论 -
[数据结构与算法] 排序算法之选择排序和堆排序
选择排序 选择排序属于内部排序法, 是从想要排序的数据中, 按指定的规则选出某一个元素, 再依规定的交换位置后达到排序的目的简单选择排序选择排序(select sorting)也是一种简单的排序方法。它的基本思想是:第一次从arr[0]~arr[n-1]中选取最小值,与arr[0]交换,第二次从arr[1]~arr[n-1]中选取最小值,与arr[1]交换,第三次从arr[2]...原创 2020-02-20 18:34:50 · 2039 阅读 · 2 评论 -
[数据结构与算法] 树结构之二叉树
数组存储方式的分析优点:通过下标方式访问元素,速度快。对于有序数组,还可使用二分查找提高检索速度。缺点:如果要检索具体某个值,或者插入值(按一定顺序)会整体移动,效率较低链式存储方式的分析优点:在一定程度上对数组存储方式有优化(比如:插入一个数值节点,只需要将插入节点,链接到链表中即可, 删除效率也很好)。缺点:在进行检索时,效率仍然较低,比如(检索某个值,需要从头节点开始遍历)...原创 2020-02-17 11:50:19 · 1653 阅读 · 1 评论 -
[数据结构与算法] 排序算法之冒泡排序与快速排序(快排)
冒泡排序(Bubble Sorting)的基本思想是:通过对待排序序列从前向后(从下标较小的元素开始),依次比较相邻元素的值,若发现逆序则交换,使值较大的元素逐渐从前移向后部,就象水底下的气泡一样逐渐向上冒。因为排序的过程中,各元素不断接近自己的位置,如果一趟比较下来没有进行过交换,就说明序列有序,因此要在排序过程中设置一个标志flag判断元素是否进行过交换。从而减少不必要的比较。...原创 2020-02-11 09:33:13 · 2138 阅读 · 1 评论 -
[数据结构与算法] 排序算法
终于学习到了算法部分, 在学习算法时, 我们还是应该回顾一下数据结构与算法之间的关系数据结构是研究数据的组织方式, 是算法的基础算法是解决编程问题的方法论, 是程序的灵魂程序= 数据结构+算法排序算法排序也称排序算法(Sort algorithm). 是指 将一组数据按照指定顺序进行排列的过程主要分为内部排序和外部排序内部排序: 指将需要处理的数据加载到内存中进行排序外部排序...原创 2020-02-06 17:12:02 · 6442 阅读 · 4 评论 -
[数据结构与算法] 邂逅栈
栈在邂逅了完线性结构的数组和队列后, 我们便偶遇了栈这个东东, 他到底是个啥?就让我们慢慢揭开它的神秘面纱吧~~~需求介绍栈的介绍栈的英文为(stack)栈是一个先入后出(FILO-First In Last Out)的有序列表。栈(stack)是限制线性表中元素的插入和删除只能在线性表的同一端进行的一种特殊线性表。允许插入和删除的一端,为变化的一端,称为栈顶(Top),另一...原创 2020-02-03 11:26:59 · 11686 阅读 · 1 评论 -
[数据结构与算法] 邂逅链表
承接上文, 在介绍完线性结构的数组和队列后, 开始学习线性结构的链表和栈的相关知识链表单链表链表(Linked List): 属于有序表, 是一种物理存储单元上非连续、非顺序的存储结构.与有序的顺序表相比, 链表插入删除效率高, 读取效率低物理存储效果图由图可知节点存储方式为链式存储每个节点包括 data域(存放数据), next域(存放下一个节点地址), 地址(节点创建后...原创 2020-01-13 09:06:40 · 2534 阅读 · 0 评论 -
[数据结构与算法] 邂逅数组与队列
数据结构与算法一 线性结构与非线性结构稀疏数组及五子棋问题二维数组与稀疏数组的转化领会遍历二维数组的两种方式队列和银行排队问题银行排队问题队列与队列模拟学习完部分大数据知识之后, 大数据阶段的学习就暂时告一段落了. 为了能够进入大厂修习, 因此特别在这端时间里通过学习韩顺平老师的数据结构与算法来复习下数据结构与算法. 与其说是复习不如说是预习,嘿嘿.我将不同于以往的写博方式, 重新和大家一起...原创 2020-01-09 15:15:34 · 3924 阅读 · 0 评论