算法导论学习笔记
文章平均质量分 69
liuwu265
这个作者很懒,什么都没留下…
展开
-
算法导论学习之——堆排序
在这一篇文章中,首先介绍一下堆的属性和性质。然后讲解一下建堆的过程,最后讲解堆排序。1、堆的介绍 堆的物理存储结构就是一个一维的数组,其数据结构就是一个完全的二叉树。需要注意的是堆中的每个结点不需要后继指针,其父节点和左右孩子结点都可以通过计算得到。假设要计算结点i(i为数组的下标)的父节点和左右孩子结点,可以使用以下公式计算:在此计算的都是结点的数组下标,原创 2014-03-08 14:46:35 · 692 阅读 · 0 评论 -
红黑树的删除(算法导论)
红黑树的删除分两个部分介绍,第一个部分介绍节点的删除;第二部分介绍在将节点删除后对红黑树的调整,使得其能符合红黑树的性质。原创 2014-11-05 15:10:20 · 788 阅读 · 0 评论 -
KMP算法之查找模式串在源串中出现的次数
问题描述:给定两个字符串原创 2014-10-30 23:27:14 · 1481 阅读 · 0 评论 -
动态规划原理(算法导论)
适合动态规划求解的最优化问题应该具备两个要素: 最优子结构和子问题重叠。 1、 最优子结构要使用动态规划算法,首先要具有最优子结构的性质,即原问题的最优解包含子问题的最优解。通过逐步求解子问题,最终得到原问题的最优解。在寻找最优子结构的过程中,需要做出一些假设,比如在第一次做出选择时,需要假设已经知道了哪种选择会得到最优解,于是,在获得最优解的选择后,分析通过这次选择后会产生哪些子问题原创 2014-10-13 16:31:19 · 716 阅读 · 2 评论 -
动态规划之矩阵链相乘问题(算法导论)
问题描述:原创 2014-10-09 22:30:27 · 1395 阅读 · 0 评论 -
动态规划之最长公共子序列(算法导论)
1、问题描述原创 2014-10-14 20:19:34 · 616 阅读 · 0 评论 -
动态规划之最优二叉搜索树(算法导论)
1、一些概念二叉搜索树原创 2014-10-15 21:09:31 · 1090 阅读 · 0 评论 -
动态规划之钢条切割(算法导论)
1、问题描述:对于不同长度的钢条,其价格各不相同,现给定一个钢条的价格表,以及长度为n的钢条,求如何切割这个长度为n的钢条,使得价值最大。2、样例分析:假如现在给定一价格表如下:1 2 3 4 5 6 7 8 9 101 5 8 9 10 17 17 20 24 30现有一个长度为4的钢条,如何切割才能使得价值最大?总共有三种切割方案,分别为:1、0+4原创 2014-10-12 15:48:34 · 634 阅读 · 0 评论 -
排序算法的稳定性分析
对一串数列或字符串进行排序,转载 2014-10-17 10:13:55 · 486 阅读 · 0 评论 -
快速排序算法分析
关于快速排序算法,由于其有着很好的平均时间复杂度而得到了广泛的应用。快排的思想:每次从数组中取出一个元素出来,然后将该元素放置到一个合适的位置,使得该元素前面的数都小于或等于该元素,其后面的数都大于或等于该元素。然后在对该元素左右两边的数组进行同样的操作,直到左右两边的元素为空。比如:有数组:5 3 8 2 6. 取出一个数5, 然后将数组中小于或等于5的数放到5的左边,大于等于5的数放到原创 2014-10-17 19:36:14 · 515 阅读 · 0 评论 -
KMP算法深入解析
本文主要介绍KMP算法原理。KMP算法是一种高效的字符串匹配算法,通过对源串进行一次遍历即可完成对字符串的匹配。原创 2014-10-31 23:49:28 · 503 阅读 · 0 评论 -
红黑树的插入(算法导论)
红黑树是一棵二叉搜索树,它在每个节点增加了一个存储位来表示节点的颜色。一颗红黑树是满足下面红黑性质的二查搜索树:1)每个节点或是红色的,或是黑色的2)根节点是黑色的3)每个叶节点(NIL)是黑色的4)如果一个节点是红色的,则它的两个子节点都是黑色的5)对每个节点,从该节点到其所有后代叶节点的简单路径上,均包含相同数目的黑色节点。 对一颗有n个内部节点的红黑树原创 2014-11-01 22:40:54 · 532 阅读 · 0 评论 -
红黑树删除的实现
在将红黑树中某个节点删除时,分几个步骤,shou原创 2014-11-06 10:20:08 · 695 阅读 · 0 评论