![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构与算法
CodingAsura
知其然,知其所以然
展开
-
堆排序
堆排序 堆排序是利用堆的性质进行的一种选择排序。下面先讨论一下堆。 1.堆 堆实际上是一棵完全二叉树,其任何一非叶节点满足性质: Key[i]=Key[2i+1]&&key>=key[2i+2] 即任何一非叶节点的关键字不大于或者不小于其左右孩子节点的关键字。 堆分为大顶堆和小顶堆,满足Key[i]>=Key[2i+1]&&key>=key[2i+2]称为转载 2015-07-25 23:34:29 · 318 阅读 · 0 评论 -
01背包问题-动态规划
背包问题是一个经典的动态规划模型,容易描述,容易理解。背包问题可简单描述为:给定一组物品,每种物品都有自己的重量和价格,在限定的总重量内,我们如何选择,才能使得物品的总价格最高。01背包问题的特点是,每种物品仅有一件,可以选择放或不放。 01背包问题描述: 有N件物品和一个容量为V的背包。第i件物品的重量是c[i],价值是w[i]。求解将哪些物品装入背包可使这些物品的重量总和不超过转载 2015-04-03 16:34:52 · 300 阅读 · 0 评论 -
红黑树
红黑树 之前看了很多写红黑树的博客,但是感觉都讲的不太清楚!没说这样操作如何使他保持平衡的,于是疑惑重重,就看不下去了,一次不经意看到一个人说维基百科的红黑树讲的好,我就随便点了一下一看——这下疯了~,怎么讲的这么好!可以说是把一个复杂的问题,讲得简单化!这太幸福了! 于是我就慢慢学会了!强烈推荐维基的这个讲解,再也找不到比这还好的讲解了!不知道它上边其它的怎么样,反正这个很好!!既然学会了转载 2015-07-21 23:44:45 · 292 阅读 · 0 评论 -
二叉树的定义、性质、存储
二叉树的定义、性质、存储 二叉树的定义 二叉树是每个节点最多有两个子树的树结构。通常子树被称作“左子树”(left subtree)和“右子树”(right subtree)。二叉树常被用于实现二叉查找树和二叉堆。 二叉树的每个结点至多只有二棵子树(不存在度大于2的结点),二叉树的子树有左右之分,次序不能颠倒。 特殊二叉树 1转载 2015-08-30 15:34:25 · 252 阅读 · 0 评论 -
程序员面试、算法研究、编程艺术、红黑树、数据挖掘5大系列集锦
程序员面试、算法研究、编程艺术、红黑树、数据挖掘5大系列集锦 2011-06-14 12:11 421474人阅读 评论(485) 收藏 举报 算法 程序员面试、算法研究、编程艺术、红黑树、数据挖掘5大经典原创系列集锦与总结 (七月算法在线学院:http://www.julyedu.com/,面试&算法&机器学习在线课程)转载 2015-09-16 11:50:07 · 637 阅读 · 0 评论 -
编辑距离法
编辑距离概念描述: 编辑距离,又称Levenshtein距离,是指两个字串之间,由一个转成另一个所需的最少编辑操作次数。许可的编辑操作包括将一个字符替换成另一个字符,插入一个字符,删除一个字符。 例如将kitten一字转成sitting: sitten (k→s)sittin (e→i)sitting (→g) 俄罗斯科学家Vladimir Levenshtein在1965转载 2015-10-04 16:36:45 · 379 阅读 · 0 评论 -
五大基本常用算法概述
一,贪心算法的设计思想 • 从问题的某一个初始解出发逐步逼近给定的目标,每一步都作一个不可回溯的决策,尽可能地求得最好的解。当达到某算法中的某一步不需要再继续前进时,算法停止。 二,贪心算法的基本性质 1)贪心选择性质 所谓贪心选择性质是指所求问题的整体最优解可以通过一系列局部最优的选择,即贪心选择来达到。转载 2015-10-04 17:06:22 · 5245 阅读 · 0 评论