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

此处添加一些经典算法和常用算法
摘要:背包九讲 参考: "AcWing题库" 参考书目: "背包九讲" 1、01背包问题 题目描述:有 N 件物品和一个容量是 V的背包。每件物品只能使用一次。第 i件物品的体积是 vi,价值是 wi。求解将哪些物品装入背包,可使这些物品的总体积不超过背包容量,且总价值最大。 输出最大价值。 思路:动态规 阅读全文
posted @ 2019-09-19 22:35 hugechuanqi 阅读(3273) 评论(0) 推荐(0)
摘要:[TOC] 23、二叉搜索树的后序遍历序列 题目描述: 输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果。如果是则输出Yes,否则输出No。假设输入的数组的任意两个数字都互不相同。 后序遍历:左子树 右子树 根节点 思路: 对于后序遍历,其最后一个元素是根节点。因此对于序列S,最后一个 阅读全文
posted @ 2019-04-06 16:06 hugechuanqi 阅读(188) 评论(0) 推荐(0)
摘要:[TOC] 二叉树类型为常考题型: 1. 结合队列、栈、链表、字符串等数据结构; 2. 需要掌握图的基本遍历方式,例如BFS和DFS。 3. 需要掌握递归函数的使用,并自己涉及出递归过程。 4. 与实际工作结合紧密。 遍历方式: 1. 前序遍历:根节点 左子树 右子树 2. 中序遍历:左子树 根节点 阅读全文
posted @ 2019-03-19 17:21 hugechuanqi 阅读(295) 评论(0) 推荐(0)
摘要:[TOC] 1、二维数组中的查找(223ms) 题目描述: 在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。 思路: 由于二维数组从左到右,从上到下都是有序 阅读全文
posted @ 2019-03-13 18:03 hugechuanqi 阅读(365) 评论(0) 推荐(0)
摘要:[TOC] 1、冒泡法排序(从前往后循环,将所有值与第一个值作比较,使得第一个值能获得最小值) 基本思想: (初级版) 冒泡排序是一种交换排序,基本思想是两两比较相邻记录的关键字,如果反序则交换,知道没有反序的记录位置。 算法描述: 代码实现 代码实现: 3、堆排序 堆是具有下列性质的完全二叉树: 阅读全文
posted @ 2019-02-23 19:21 hugechuanqi 阅读(296) 评论(0) 推荐(0)