”动画学算法“ 的搜索结果

     简介 队列Queue是一个非常常见的数据结构,所谓队列就是先进先出的序列结构。 想象一下我们日常的排队买票,只能向队尾插入数据,然后从队头取数据。...先看一下动画,直观的感受一下队列是怎么入队和出队的。 先看

     今天我们使用动画的方法一起来看看linkedList是怎么插入和删除的。 linkedList的构建 linkedList是由一个一个的节点构成的。而每个节点只需要存储要保存的数据和下一个节点的引用即可。 linkedList本身需要一个head...

     我们坐在高高的谷堆旁边,听妈妈讲那过去的事情。听到了堆,我就想起了这首歌。 没错,今天我们要介绍一个堆,这个堆叫做二叉堆。 二叉树我们之前讲过了,就是每个节点最多有两个子节点的树叫做二叉树。...

     文章目录简介选择排序的例子选择排序的java代码实现选择...先看一个动画: 选择排序的原理如下: 8个数字,我们需要进行7轮排序。 以第一轮为例,我们对对所有的数据进行比较,找到其中最小的那个10,然后把10放在数

     排序算法动画演示文件是学习和理解经典算法的绝佳资源,特别是对于那些准备面试的人来说,它们是必备的。这些动画演示以直观明了的方式展示了冒泡排序、选择排序、快速排序等多种经典算法的工作原理和执行过程。通过...

     快速排序也采用的是分而制之的思想。那么快速排序和归并排序的区别在什么地方呢? 归并排序是将所有的元素拆分成一个个排好序的数组,然后将这些数组再进行合并。 而快速排序虽然也是拆分,但是拆分之后的操作是从...

     程序员面试经典题,二分搜索一个区间,区间查找 (LeetCode 34) 程序员面试经典题,二分搜索一个区间,区间查找 (LeetCode 34)_哔哩哔哩_...动画模拟演示: 二分查找 冒泡 选择 插入 排序 约瑟夫环 扑克牌速记_哔哩哔

     文章目录简介队列的实现队列的数组实现队列的动态数组实现队列的链表实现队列的时间复杂度 简介 队列Queue是一个非常常见的数据结构,所谓队列就是先进先出的序列结构。 想象一下我们日常的排队买票,只能向队尾插入...

     文章目录简介散列表的关键概念数组和散列表数组的问题hash的问题线性探测二次探测双倍散列分离链接rehash 简介 java中和hash相关并且常用的有两个类hashTable和hashMap,两个类的底层存储都是数组,这个数组不是普通...

     看动画学算法之:二叉搜索树BST 简介 树是类似于链表的数据结构,和链表的线性结构不同的是,树是具有层次结构的非线性的数据结构。 树是由很多个节点组成的,每个节点可以指向很多个节点。 如果一个树中的每个节点都...

     排序可能是所有的算法中最最基础和最最常用的了。排序是一个非常经典的问题,它以一定的顺序对一个数组(或一个列表)中的项进行重新排序。 排序算法有很多种,每个都有其自身的优点和局限性。 今天我们来学习最最...

     文章目录简介栈的构成栈的实现使用数组来实现栈使用动态数组来实现栈使用链表来实现 简介 栈应该是一种非常简单并且非常有用的数据结构了。栈的特点就是先进后出FILO或者后进先出LIFO。 实际上很多虚拟机的结构都是...

     文章目录简介doublyLinkedList的构建doublyLinkedList的操作头部插入尾部插入插入给定的位置删除指定位置的节点 简介 今天我们来学习一下复杂一点的LinkedList:doublyLinkedList。 和LinkedList相比,doublyLinked...

     之前的文章我们讲了count排序,但是count排序有个限制,因为count数组是有限的,如果数组中的元素范围过大,使用count排序是不现实的,其时间复杂度会膨胀。 而解决大范围的元素排序的办法就是基数排序。

     文章目录简介双向队列的实现双向队列的数组实现双向队列的动态数组实现双向队列的链表实现双向链表的时间复杂度 简介 dequeue指的是双向队列,可以分别从队列的头部插入和获取数据,也可以从队列的尾部插入和获取...

     这个算法就叫做插入排序。 插入排序的例子 同样的,假如我们有一个数组:29,10,14,37,20,25,44,15,怎么对它进行插入排序呢? 先看一个插入排序的动画,对它有个直观的了解: 我们来分析一下排序的流程。 八个数字...

     在之前的文章中,我们讲到了后缀树和它的一些特性。后缀树主要用来做模式匹配中,比如全文索引,寻找公共前缀等,非常的有用。同样的后缀数组和后缀树的作用非常类似,和后缀树相比,后缀数组更简单并且更加节省空间...

     文章目录简介归并排序的例子归并排序算法思想归并排序的java实现归并排序的时间复杂度 简介 归并排序简称Merge sort是一种递归思想的排序算法。这个算法的思路就是将要排序的数组分成很多小的部分,直到...先看一个动画

10  
9  
8  
7  
6  
5  
4  
3  
2  
1