首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
数据结构与算法
Nicholas68
创建于2024-01-06
订阅专栏
一起学习吧。
等 4 人订阅
共18篇文章
创建于2024-01-06
订阅专栏
默认顺序
默认顺序
最早发布
最新发布
数据结构与算法(Dart)之HashMap(十八)
概述 Dart 中的 HashMap 是一个基于哈希表的 Map 实现,提供了高效的键值对存储和检索功能。 HashMap 是无序的(不保证迭代顺序),并且要求键必须具有一致的 Object.== 和
数据结构与算法(Dart)之二分查找(十七)
二分查找被定义为一种在排序数组中使用的查找算法重复将搜索间隔一分为二。二分查找的思想是利用数组已排序的信息,将时间复杂度降低到O(log N)。 应用二分查找算法: 数据结构必须是有序的。 访问数据结
数据结构与算法(Dart)之线性查找(十六)
线性查找被定义为一种顺序查找算法,从一端开始,遍历列表中的每个元素,直到找到所需的元素,否则将继续查找,直到数据集的末尾。 在线性搜索算法中, 每个元素都被视为该键的潜在匹配项并进行相同检查。 如果
数据结构与算法(Dart)之快速排序(十五)
是目前公认最佳的排序法。它选择一个基准元素, 其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列。
数据结构与算法(Dart)之插入排序(十四)
将数组分为已排序和未排序两部分,每次从未排序的部分取出一个元素插入到已排序部分的适当位置。 稳定性 根据查入的位置,插入排序在排序的过程中,始终保持元素的在整体元素中的相对位置不变,所以是稳定的排序算
数据结构与算法(Dart)之选择排序(十三)
每次从未排序的部分选取最小(或最大)的元素,放到已排序部分的末尾。 开始默认第一个元素最小。 时间复杂度: O(n²), 不稳定
数据结构与算法(Dart)之冒泡排序(十二)
每次将相邻的两个元素进行比较,看是否满足大小关系要求,如果不满足,就交换这两个相邻元素的次序。 一次冒泡至少让一个元素移动到它应该排列的位置,重复N次,就完成了冒泡排序。 时间复杂度 最好情况(已全部
数据结构与算法(Dart)之排序简介(十一)
排序算法是一种常见的算法,用于将一组数据按照特定的规则进行排列。常见的排序算法包括: 冒泡排序(Bubble Sort):重复地遍历数组,每次比较相邻的两个元素,如果顺序错误就交换它们,直到没有需要交
数据结构与算法(Dart)之LFU算法(十)
LFU(Least Frequently Used)根据数据的历史访问频率来淘汰数据,其核心思想是“如果数据过去被访问多次,那么将来被访问的频率也更高”。
数据结构与算法(Dart)之LRU算法(九)
LRU是Least Recently Used的缩写,即最近最少使用,是一种常用的页面置换算法,选择最近最久未使用的页面予以淘汰。该算法赋予每个页面一个访问字段,用来记录一个页面自上次被访问以来所经历
数据结构与算法(Dart)之图(八)
“图”和“图形”在数据结构的描述中指同一个概念。在图论中,图的定义有特定的含义。 图在实际的应用场景中经常出现,比如交通中的线路图等。图还被应用在数据结构中的最短路径搜索、拓扑排序等。 例如,如何计算
数据结构与算法(Dart)之树(七)
树(Tree)是由多个节点(Node)的集合组成,每个节点又有多个与其关联的子节点(Child Node)。子节点就是直接处于节点之下的节点,而父节点(Parent Node)则位于节点直接关联的上方
数据结构与算法(Dart)之堆(六)
堆(heap)是计算机科学中一类特殊的数据结构的统称。堆通常是一个可以被看做一棵树的数组对象。堆总是满足下列性质: 堆中某个结点的值总是不大于或不小于其父结点的值; 堆总是一棵完全二叉树。 将根结点最
数据结构与算法(Dart)之队列(五)
队列是一种先进先出(FIFO, First In First Out)的线性表,只允许在一端进行插入数据(enqueue),在另一端进行删除数据(dequeue)。
数据结构与算法(Dart)之栈(四)
栈(stack)又称为堆栈或堆叠, 栈作为一种数据结构,是一种只能在一端进行插入和删除操作的特殊线性表。它按照先进后出的原则存储数据,先进入的数据被压入栈底,最后的数据在栈顶,需要读数据的时候从栈顶开
数据结构与算法(Dart)之链表(三)
顺序表的构建需要预先知道数据大小来申请连续的存储空间,而在进行扩充时又需要进行数据的搬迁,所以使用起来并不是很灵活。 链表是一种在存储单元上非连续、非顺序的存储结构。数据元素的逻辑顺序是通过链表中的指
数据结构与算法(Dart)之线性表(二)
线性表的关系可以看成是一种有序对的集合,目的在于表示线性表中的任意两个相邻元素之间的关系。其中ai-1,称为ai的先行元素,ai是i-1的后继元素。简单地表示线性表,我们可以写成(a1,a2,a3,.
数据结构与算法(Dart)之基础概念(一)
对于一个程序(或算法)性能的评估, 经常是从时间与空间两个维度来进行考虑。时间方面是指程序的运行时间, 称为"时间复杂度"。空间方面是程序在计算机内存所占的空间大小, 称为"空间复杂度"。 时间复杂度