算法
文章平均质量分 57
Kiplening
这个作者很懒,什么都没留下…
展开
-
01背包问题研究
01背包问题问题描述:给定N中物品和一个背包。物品i的重量是Wi,其价值位Vi ,背包的容量为C。问应该如何选择装入背包的物品,使得转入背包的物品的总价值为最大??由于在选择物品的时候,对每种物品i只有两种选择,即装入背包或不装入背包。不能讲物品i装入多次,也不能只装入物品的一部分。因此,该问题被称为0-1背包问题。这里有个重要的思想就是归纳法,而且是二维归纳。设C转载 2015-06-26 16:47:30 · 566 阅读 · 0 评论 -
关于二叉树二叉堆的一些基本概念
在看到算法导论的堆排序的时候,对于二叉树,二叉堆概念不是很清楚,所以查阅了一些资料和博客。将相关的基本概念总结在博客里面。二叉树:是树的一种,主要的特点是二叉树的所有节点最多只有两个叶节点。除此之外没有别的要求完全二叉树:就是在二叉树当中,除了最后一层之外,所有层的节点都有满的,且最后一层的节点也是从左到右的。优先填满左边的节点。满二叉树:又是一种特殊的完全二叉原创 2015-08-29 21:46:41 · 2496 阅读 · 0 评论 -
快速排序
快速排序算法是一种很常用,且效率极高的一种排序算法。他的平均时间复杂度为O(lg n)。快排的思想是利用分而治之的思路:分拆:将原来的数组分为两个数组,分拆的标准是在数组中找一个数,比这个数大或者相等的分为一组,比这个数小的分到另一组。排序:通过递归的方式调用快排的函数,最终将数组分为一个 简单的单元就完成了数组的排序。合并:在这个例子当中,不需要做特别的操作就已经将数原创 2015-09-01 16:16:25 · 460 阅读 · 0 评论 -
关于子函数变量生命周期以及指针的一些问题
C语言的变量都有自己的生存周期,如果超过这个周期,那么它所占用的地址空间就会被释放掉。不再受到保护。因此主函数中要用到的变量不能再子函数里面申明。原创 2015-09-21 17:24:43 · 2255 阅读 · 0 评论