随笔分类 -  数据结构与算法

data structure and algorithm analysis and design
摘要:一、快排基础 1.1 快排的流程 将数组A进行快速排序的基本步骤-quick_sort(A): 递归基础情况:如果A中的元素个数是1或0,则返回。 选取主元:取A中的任意一个元素v,作为主元(pivot)。 交换策略:将A-{v}即A中剩余元素,划分成两个不相交的集合(多重集)A1和A2, 递归处理 阅读全文
posted @ 2023-02-08 20:19 LeonYi 阅读(285) 评论(0) 推荐(0)
摘要:一、堆的基础 1.1 优先队列和堆 优先队列(Priority Queue):特殊的“队列”,取出元素顺序是按元素优先权(关键字)大小,而非元素进入队列的先后顺序。 若采用数组或链表直接实现优先队列,代价高。依靠数组,基于完全二叉树结构实现优先队列,即堆效率更高。一般来说堆代指二叉堆。 优先队列的完 阅读全文
posted @ 2023-02-01 23:51 LeonYi 阅读(684) 评论(0) 推荐(1)
摘要:一、题目 给你一个二叉树的根节点 root。设根节点位于二叉树的第1层,而根节点的子节点位于第2层,依此类推。 请返回层内元素之和 最大 的那几层(可能只有一层)的层号,并返回其中 最小 的那个。 示例 1: 输入:root = [1,7,0,7,-8,null,null] 输出:2 解释: 第 1 阅读全文
posted @ 2022-07-31 12:08 LeonYi 阅读(46) 评论(0) 推荐(0)
摘要:一、题目 给你两个非空的链表,表示两个非负的整数。它们每位数字都是按照逆序的方式存储的,并且每个节点只能存储一 数字。请你将两个数相加,并以相同形式返回一个表示和的链表。 可以假设除了数字 0 之外,这两个数都不会以 0 开头。 示例 1: 输入:l1 = [2,4,3], l2 = [5,6,4] 阅读全文
posted @ 2022-07-08 08:31 LeonYi 阅读(70) 评论(0) 推荐(0)
摘要:一、题目 英语中有一个叫做词根(root)的概念,我们可在词根后面添加其他一些词,组成另一个较长的单词——即继承词(successor)。例如,词根an跟随着单词other,可以形成新的单词another。 现给定一个由许多词根组成的词典dictionary和一个用空格分隔单词形成的句子senten 阅读全文
posted @ 2022-07-07 15:02 LeonYi 阅读(99) 评论(0) 推荐(0)
摘要:一、题目 Trie树(前缀树)是一种树形数据结构(多叉树),它可用于高效地存储和检索字符串数据集中的键。这一数据结构有相当多的应用情景,例如自动补完和拼写检查。 请你实现 Trie 类: Trie() 初始化前缀树对象。 void insert(String word) 向前缀树中插入字符串 wor 阅读全文
posted @ 2022-07-07 12:20 LeonYi 阅读(81) 评论(0) 推荐(0)
摘要:一、题目 给定一个长度为 n 的整数数组 height 。有 n 条垂线,第 i 条线的两个端点是 (i, 0) 和 (i, height[i]) 。 找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。 返回容器可以储存的最大水量(不能倾斜容器)。 示例 1: 输入:[1,8,6, 阅读全文
posted @ 2022-07-06 14:40 LeonYi 阅读(47) 评论(0) 推荐(0)
摘要:算法题 24点 阅读全文
posted @ 2021-07-12 15:12 LeonYi 阅读(192) 评论(0) 推荐(0)
摘要:构建简单的哈希表(字典对象) 阅读全文
posted @ 2020-08-14 23:09 LeonYi 阅读(467) 评论(0) 推荐(0)
摘要:冒泡、选择、插入、希尔、快速、归并、桶和堆排序 阅读全文
posted @ 2020-08-03 23:27 LeonYi 阅读(266) 评论(0) 推荐(0)
摘要:一个函数调用其自身就是递归函数。 阅读全文
posted @ 2020-08-03 23:12 LeonYi 阅读(320) 评论(0) 推荐(0)
摘要:无向图单源最短路径,Dijkstra算法 阅读全文
posted @ 2019-03-16 20:16 LeonYi 阅读(436) 评论(0) 推荐(0)
摘要:循环队列和公式法求解约瑟夫问题 阅读全文
posted @ 2019-02-25 18:42 LeonYi 阅读(455) 评论(0) 推荐(0)
摘要:链表反转:头插法、三指针节点依次翻转、递归链表反转 阅读全文
posted @ 2019-02-17 11:33 LeonYi 阅读(396) 评论(0) 推荐(0)
摘要:Binary Search Tree的基本操作,例如插入,删除, 查找,遍历 阅读全文
posted @ 2019-02-17 11:24 LeonYi 阅读(524) 评论(0) 推荐(0)