随笔分类 -  算法

摘要:1、题目描述 操作给定的二叉树,将其变换为源二叉树的镜像 2、思想 交换树中所有节点的左右子节点,即得到树的镜像。 求一棵树的镜像的过程:先前序遍历这棵树的每个节点,如果遍历到的节点有子节点,就交换它的左右两个子节点,当交换完所有非叶节点的左、右子节点之后,就得到了树的镜像。 2、代码如下: /** 阅读全文
posted @ 2019-10-18 10:24 Nausicaa0505 阅读(196) 评论(0) 推荐(0) 编辑
摘要:应用场景-集合覆盖问题 假设存在下面需要付费的广播台,以及广播台信号可以覆盖的地区。 如何选择最少的广播台,让所有的地区都可以接收到信号。 贪心算法介绍 1)贪婪算法(贪心算法)是指在对问题进行求解时,在每一步选择中都采取最好或者最优(即最有利)的选择,从而希望能够导致结果是最好或者最优的算法。 2 阅读全文
posted @ 2019-08-05 10:37 Nausicaa0505 阅读(268) 评论(0) 推荐(0) 编辑
摘要:KMP算法介绍 KMP是一个解决模式串在文本串是否出现过,如果出现过,最早出现的位置的经典算法。Knuth-Morris-Pratt 字符串查找算法,简称为 “KMP算法”,常用于在一个文本串S内查找一个模式串P 的出现位置,这个算法由Donald Knuth、Vaughan Pratt、James 阅读全文
posted @ 2019-08-05 09:57 Nausicaa0505 阅读(345) 评论(0) 推荐(0) 编辑
摘要:前序遍历: 先输出父节点,再遍历左子树和右子树中序遍历: 先遍历左子树,再输出父节点,再遍历右子树后序遍历: 先遍历左子树,再遍历右子树,最后输出父节点小结: 看输出父节点的顺序,就确定是前序,中序还是后序。 创建如下图二叉树并写出其遍历、查找、删除方法。 创建二叉树 先创建HeroNode结点 p 阅读全文
posted @ 2019-07-30 16:05 Nausicaa0505 阅读(354) 评论(0) 推荐(0) 编辑
摘要:转自 https://www.cnblogs.com/maybe2030/p/4715035.html 部分内容来自尚硅谷视频 1. 顺序查找 2. 二分查找 3. 插值查找 4. 斐波那契查找 5. 树表查找 6. 分块查找 7. 哈希查找 查找算法 查找定义:根据给定的某个值,在查找表中确定一个 阅读全文
posted @ 2019-07-29 18:17 Nausicaa0505 阅读(141) 评论(0) 推荐(0) 编辑
摘要:排序算法一般分别是冒泡排序、快速排序、直接插入排序、希尔排序、简单选择排序、堆排序、归并排序和基数排序,如果按原理划分,冒泡排序和快速排序都属于交换排序,直接插入排序和希尔排序属于插入排序,而简单选择排序和堆排序属于选择排序。 选择排序 扫描所有元素,将最小的与第一位交换位置,再扫描除第一位以外最小 阅读全文
posted @ 2019-07-29 18:05 Nausicaa0505 阅读(234) 评论(0) 推荐(0) 编辑
摘要:开始时将表划分为大致相等的两段,然后对每个字表递归调用自身,直到划分为很多只含一个元素的子表,然后控制返回递归调用结构,算法将从两个递归调用中得到两个有序字段,合并为一个有序表。 比如初始数组:[24,13,26,1,2,27,38,15] ①分成了两个大小相等的子数组:[24,13,26,1] [ 阅读全文
posted @ 2019-07-18 20:46 Nausicaa0505 阅读(110) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示