Loading

摘要: 1. 基本概念 所谓贪心算法是指,在对问题求解时,总是做出在当前看来是最好的选择,从而希望能够导致结果是最好或者最优的算法。 也就是说,它不从整体最优上加以考虑,只顾眼前不顾大局,所以它所做出的也仅仅是在某种意义上的局部最优解。 贪心算法不是对所有问题都能得到整体最好的解决办法,关键是贪心策略的选择 阅读全文
posted @ 2020-03-13 23:26 tree6x7 阅读(453) 评论(0) 推荐(0) 编辑
摘要: 1. 算法介绍 动态规划(Dynamic Programming)算法的核心思想是:将大问题划分为小问题进行解决,从而一步步获取最优解的处理算法; 动态规划算法与分治算法类似,其基本思想也是将待求解问题分解成若干个子问题,先求解子问题,然后从这些子问题的解得到原问题的解; 与分治法不同的是,适合于用 阅读全文
posted @ 2020-03-13 22:11 tree6x7 阅读(164) 评论(0) 推荐(0) 编辑
摘要: 1. 设计思想 分而治之 就是把一个复杂的问题分成两个或更多的相同或相似的子问题,再把子问题分成更小的子问题 (这些子问题互相独立且与原问题形式相同)…… 直到最后子问题可以简单的直接求解,原问题的解 即 子问题的解的合并 分治 & 递归 如果原问题可分割成k个子问题,1<k≤n,且这些子问题都可解 阅读全文
posted @ 2020-03-13 22:07 tree6x7 阅读(170) 评论(0) 推荐(0) 编辑
摘要: 建议去看原文,下文只摘出了KMP过程且做了少许修改;https://www.cnblogs.com/SYCstudio/p/7194315.html 1. 引入 首先我们来看一个例子,现在有两个字符串 A 和 B,问你在 A 中是否有 B,有几个?为了方便叙述,我们先给定两个字符串的值 A = "a 阅读全文
posted @ 2020-03-01 08:09 tree6x7 阅读(186) 评论(0) 推荐(0) 编辑
摘要: 图的遍历 遍历,即是对图中订点的访问。一个图有那么多个结点,如何遍历这些结点,则可根据搜索路径的不同,将遍历图的方法分为 2 种: 深度优先遍历 (Depth First Search) 广度优先遍历 (Broad First Search) 深度优先遍历 基本思想 DFS 类似于树的先序遍历 首先 阅读全文
posted @ 2020-02-24 21:32 tree6x7 阅读(161) 评论(0) 推荐(0) 编辑
摘要: 1. 为什么要有图? 前面学了线性表和树,线性表局限于一个直接前驱和一个直接后继的关系,树也只能有一个直接前驱也就是父结点。当需要表示多对多的关系时, 这里就用到了图。 2. 图的举例说明 3. 图的常用概念 顶点(vertex) 图是一种数据结构,其中结点可以具有零个或多个相邻元素 结点也可以称为 阅读全文
posted @ 2020-02-24 21:06 tree6x7 阅读(243) 评论(0) 推荐(0) 编辑
摘要: 版权声明:本文为CSDN博主「Chida15」的原创文章,遵循 CC 4.0 BY SA 版权协议,转载请附上原文出处链接及本声明。 原文链接:https://blog.csdn.net/weixin_40953222/article/details/80544928 阅读全文
posted @ 2020-02-24 07:37 tree6x7 阅读(214) 评论(0) 推荐(0) 编辑
摘要: 1. 二叉树的问题分析 二叉树的操作效率较高,但是也存在问题, 请看下面的二叉树: 二叉树需要加载到内存的,如果二叉树的结点少,没有什么问题,但是如果二叉树的结点很多(比如 1 亿), 就存在如下问题: 问题1:在构建二叉树时,需要多次进行I/O操作(海量数据存在数据库或文件中),结点海量,构建二叉 阅读全文
posted @ 2020-02-18 21:07 tree6x7 阅读(347) 评论(0) 推荐(0) 编辑
摘要: 1. 引入 给你一个数列 {1,2,3,4,5,6},要求创建一颗二叉排序树(BST) 上述 BST 存在的问题分析 左子树全部为空,从形式上看,更像一个单链表 插入速度没有影响 查询速度明显降低,不能发挥 BST 的优势 // 因为每次还需要比较左子树,其查询速度比单链表还慢 [解决方案] 平衡二 阅读全文
posted @ 2020-02-18 21:04 tree6x7 阅读(105) 评论(0) 推荐(0) 编辑
摘要: 1. 引入 给你一个数列 {7, 3, 10, 12, 5, 1, 9},要求能够高效的完成对数据的查询和添加。 1. 使用数组 数组未排序 优点:直接在数组尾部添加,速度快 缺点:查找速度慢 数组排序 优点:可以使用二分查找,查找速度快 缺点:为了保证数组有序,在添加新数据时,找到插入位置后,后面 阅读全文
posted @ 2020-02-18 21:02 tree6x7 阅读(131) 评论(0) 推荐(0) 编辑