前缀和的用处:前缀和数组求出来之后我们就可以就可以求数组中的某个特定区间的和
二分查找的必要条件并不是单调,而是当我给定一个边界条件,然后左边满足这个边界条件,右边不满足这个边界条件,然后可以查找这个临界点,这就是二分查找...
简单来说,插入排序就时将一个数插入一个数插入一个有序的数组使之仍然有序,我们可以用一张动图来展示其基本原理
堆的要求 堆必须满足完全二叉树 堆的分类 堆分为两种: 1.小堆:任何一个孩子大于父亲 2.大堆:任意一个孩子都小于父亲 堆的结构 堆的逻辑结构:二叉树 堆的物理结构:数组 堆的用处:堆排序、topk 堆的特点 大堆可以找到最大值,...
在许多实际问题中,数据之间存在层次关系。例如,组织架构、文件系统、编译器语法分析等场景都需要表示层次结构。二叉树作为一种特殊的树结构,能够清晰地表达这种层次关系。最直观的就是我们电脑上的文件夹的层次结构。...
在Java中,由于基本类型不是继承自Object,为了在泛型代码中可以支持基本类型,Java 给每个基本类型都对应了一个包装类型。
一.历史背景:汉诺塔(Tower of Hanoi),又称河内塔,是一个源于印度古老传说的益智玩具。大梵天创造世界的时候做了三根金刚石柱子,在一根柱子上从下往上按照大小顺序摞着64片黄金圆盘。大梵天命令婆罗门把圆盘从下面开始按大...
2.移除链表元素 :思路:链表中不为val则尾插到新链表中。(最后新链表应该置为空)指针pcur往后移动pphead不动。刚开始新链表为空,注意每次尾插都要,把该节点定位尾节点。...
堆(Heap)是一种非常重要的非线性数据结构,广泛应用于各种算法和问题解决中,如优先队列、堆排序、Top-k 问题等。本文将深入解析堆的定义、类型、操作、应用及其优缺点。...
在现代计算机科学和编程中,算法的效率至关重要。算法效率不仅影响程序的运行时间,还直接关系到程序的内存使用情况。为了评估和优化算法,我们常用两个主要指标:时间复杂度和空间复杂度。本文将详细介绍这两个概念,并通过C...