list 的模拟实现 2024-05-05 c++, list, windows, 数据结构, 开发语言 76人 已看 首先,在 string 和 vector 的模拟实现中,我们也使用过迭代器,但是它们两个的迭代器很特殊,因为它们存储的元素的地址是连续的,因此,它们的迭代器本质上就是原生指针,那 list 这里能不能也是原生指针呢?lt {1, 2, 3, 4},通过 it 拷贝构造得到 copy, copy {1, 2, 3, 4},copy 遍历一遍,每个元素 *= 2,即 copy {2, 4, 6, 8},那么此时 lt 是什么呢?可是我们发现一个问题,这咋遍历呢?这两个函数构成函数重载吗,答案,构成,为什么呢?
搜索算法系列之二(二分查找) 2024-05-02 算法, java, 数据结构, 排序算法, 开发语言 49人 已看 二分查找仅适用于有序数据、有序数组,二分查询大数据情况下表现较好,但数据量仍限制于内存。
Java list中实体类的按照某个字段大小排序 2024-05-08 python, java, list, 数据结构, 开发语言 56人 已看 int age;return age;// 根据年龄排序@Override});// 打印排序结果在这个例子中,我们定义了一个Person类,并创建了一个包含三个Person对象的List。使用Collections.sort()方法和一个匿名内部类来实现Comparator接口,以便根据age字段对List进行排序。结果将按年龄升序排列。如果你需要按降序排序,可以使用Integer.compare(o2.getAge(), o1.getAge())。
数据结构复习指导之二叉树的概念 2024-05-08 算法, 数据结构 29人 已看 本章内容多以选择题或综合题的形式考查,但统考也会出涉及树遍历相关的算法题。树和二叉树的性质、遍历操作、转换、存储结构和操作特性等,满二叉树、完全二叉树、线索二叉树、哈夫曼树的定义和性质,都是选择题必然会涉及的内容。
MT2050 矩阵01变 2024-05-08 算法, c++, 矩阵, 图论, 数据结构 41人 已看 输入是直接输入了一行,所以不能使用for i{ for j {} },可以使用string 读一行然后挨个分析。
探索希尔排序算法:优雅而高效的增量排序 2024-05-08 算法, 排序算法, 数据结构 37人 已看 希尔排序算法作为一种经典的增量排序方法,具有较好的性能和灵活性,在实际应用中展现了其独特的魅力。通过深入理解其原理和实现细节,以及合理选择增量序列和优化算法实现,可以更好地利用希尔排序算法来解决各种排序问题,提高程序的性能和效率,为计算机科学领域的发展做出贡献。通常情况下,希尔排序对于中等规模的数据集具有较好的性能表现,特别是在数据集近乎有序的情况下。其核心思想是通过将数据集按照一定的增量分组,然后对每组数据进行插入排序,最终逐步缩小增量直至为1,完成最后一次插入排序,从而实现整体的排序过程。
R-Tree原理及实现代码 2024-05-08 r-tree, 算法, 数据库, 数据结构, javascript 48人 已看 R-Tree是一种强大的多维空间数据索引结构,通过MBR高效地组织和查询空间数据。随着技术的发展,R-Tree已经融入了机器学习等先进技术,以提高查询性能和适应动态数据环境。R-Tree在GIS系统、数据库和计算机图形学等领域中发挥着关键作用。
数据结构-线性表-应用题-2.2-12 2024-05-07 算法, java, 数据结构, 开发语言 54人 已看 1)算法的基本设计思想:依次扫描数组的每一个元素,将第一个遇到的整数num保存到c中,count记为1,若遇到的下一个整数还是等于num,count++,否则count--,当计数减到0时,将遇到的下一个整数保存到c中,计数重新记为1,反复该过程,直到扫描全部数组元素为止。获得最终的候选主元素,但此时还没完成,出现次数还要过半才行,判断c中元素是否是真正的主元素,再次扫描该数组统计c中元素出现的次数,再进一步进行判断。3)时间复杂度O(n),空间复杂度O(1)
代码随想录算法训练营第36期DAY14 2024-05-01 算法, 数据结构 27人 已看 /那么最左孩子的头上:中节点怎么办呢?不用着急,下一次循环会处理,因为有!//根据先进后出的栈特点 以及,中序遍历的特点:访问顺序与输出顺序相反,来入栈。(自己是最左的,那么自己就没有左孩子了,自己就是中了)。//空结点不入栈,记住这里是要入栈,而不是单纯的更新cur。//空结点不入栈,记住这里是要入栈,而不是单纯的更新cur。这里都需要二刷,来检验和加深印象。//先获取,以便进行迭代。//先获取,以便进行迭代。
LeetCode 35.搜索插入位置 2024-05-08 算法, leetcode, 职场和发展, 数据结构 42人 已看 给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。输入: nums = [1,3,5,6], target = 5。输入: nums = [1,3,5,6], target = 2。输入: nums = [1,3,5,6], target = 7。此算法时间复杂度为O(logn),空间复杂度为O(1)。请必须使用时间复杂度为 O(log n) 的算法。nums 为 无重复元素 的 升序 排列数组。
数据结构-线性表-应用题-2.2-4 2024-05-07 算法, java, 数据结构, javascript, 开发语言 41人 已看 这个区间的起始位置是 i,这是因为 i 是在 [s, t] 范围内找到的第一个元素的位置,即从这里开始的元素需要被删除或覆盖。通过设置新的顺序表长度为 i 的值(即移动完成后的最后一个元素的索引加一),我们有效地切除了数组尾部的多余部分,这部分现在包含了重复的、不再需要的数据。从有序顺序表中删除其值在给定值s与t之间(要求s
数据结构-线性表-应用题-2.2-14 2024-05-07 算法, java, 数据结构, 开发语言 39人 已看 n=(|S1|+|S2|+|S3|),时间复杂度为O(n),空间复杂度为O(1)。3)时间复杂度和三元组的元素个数有关,因为要依次遍历里面的元素。
【收录 Hello 算法】3.4 字符编码 2024-05-07 算法, java, 前端, 数据结构, javascript, 开发语言 43人 已看 一方面,包含代理对的字符串中,一个字符可能占用 2 字节或 4 字节,从而丧失了等长编码的优势。在庞大的 Unicode 字符集中,常用的字符占用 2 字节,有些生僻的字符占用 3 字节甚至 4 字节。它致力于将全球范围内的字符纳入统一的字符集之中,提供一种通用的字符集来处理和显示各种语言文字,减少因为编码标准不同而产生的乱码问题。ASCII 字符只需 1 字节,拉丁字母和希腊字母需要 2 字节,常用的中文字符需要 3 字节,其他的一些生僻字符需要 4 字节。实际上,这个 10 能够起到校验符的作用。
深入理解指针3(超详细!!!),字符指针;数组指针;函数指针,转换表 2024-05-08 算法, java, 数据结构, javascript, 开发语言 52人 已看 pstr + 1是跳过整个数组(10个字节),注意:指针+- 运算取决于当前的指针指向的类型。而第一行的类型是:数组指针类型。所以这里二维数组的数组名。也可以表示数组首元素地址。访问到 \0 前的数据。刚好类型也是int*
《数据结构》C语言版 (清华严蔚敏考研版) 第二章 线性表知识梳理与总结 2024-04-28 c语言, 数据结构, 考研, 开发语言 81人 已看 线性表是数据结构的一种,它是一组具有相同数据类型的数据元素的有限序列。在线性表中,除了第一个和最后一个数据元素之外,每个数据元素均只有一个直接前驱和一个直接后继。线性表的元素个数n(n≥0)定义为线性表的长度,当n=0时,称为空表。线性表在逻辑上是线性结构,也就说是连续的一条直线。但是在物理结构上并不一定是连续的,线性表在物理上存储时,通常以数组和链表的形式存储线性表的抽象数据类型定义ADT List{数据对象:D={ai|aiEElemSet.i=1,2,…,n,n≥0} //任意数据元素的集合。