自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(6)
  • 收藏
  • 关注

转载 堆和栈的区别(转过无数次的文章)

一、预备知识—程序的内存分配    一个由C/C++编译的程序占用的内存分为以下几个部分    1、栈区(stack)—   由编译器自动分配释放   ,存放函数的参数值,局部变量的值等。其    操作方式类似于数据结构中的栈。    2、堆区(heap)   —   一般由程序员分配释放,   若程序员不释放,程序结束时可能由OS回    收   。注意它与数据结构中的堆是两

2017-09-20 00:27:49 439

原创 最大堆实现堆排序

堆排序(这里使用的是最大堆)思想:1、将当前的堆转换成最大堆(从最大的非叶子结点开始,(1)判断根结点和左右结点的大小交换相互的位置,使得该子树成为最大堆,每次交换成功后就继续往该结点的子结点去重复(1)操作,直到根结点后再去下一个非叶子结点,直到根结点)2、转成最大堆后,每次就将第一个结点互最后一个结点进行交换,然后将整个堆的长度减去1(因为最后一个结点就是整个数组中最大的元素,

2017-09-13 00:36:30 834

原创 回文串划分(动态规划)

题目描述给出一个字符串 s,对这个字符串进行切分,每个子串都必须是一个回文字符串,问最少要切多少次。Example:给出 s = “aab”,返回最少切分次数 1。因为只需要一次切分就能把 s 切分成符合要求的两个子串[“aa”, “b”] 。暴力法:枚举起点和终点去求该区间字符串的最长回文字串(时间复杂度O(n^2)),找到后就去递归剩下的字串(时间复杂度

2017-09-11 21:52:49 1227

原创 图的广度遍历

题目描述现有一些格式为A / B = k的等式,A和B均为字符串变量,k为一个实数(浮点数)。如果能够找到答案,则返回答案。若答案不存在,则返回-1.0。样例给出等式a / b = 2.0, b / c = 3.0。问题为a / c = ?, b / a = ?, a / e = ?, a / a = ?, x / x = ?。返回[6.0, 0.5, -1.0,

2017-09-02 23:46:05 572

原创 二维费用背包问题+空间优化(滚动数组)

题目描述:在计算机世界,我们一直追求用最小的资源产生最大的价值。现在,假设你可以支配m个0和n个1。同时有一些只有0和1组成的字符串。你的任务是用这些0和1去组成这些字符串,输出最多能组成多少个字符串。每个0和1只能被使用一次。样例输入样例一输入: Array = {"10", "0001", "111001", "1", "0"}, m = 5, n =

2017-09-01 13:54:40 787

原创 快速排序

快速排序由C. A. R. Hoare在1962年提出。它的基本思想是:通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列。通俗的来说,就是每次选数组的第一个数作为基数,然后以后的操作就是把在基数右边且小于该基数的数与该基数交换和在基数左边且大于该

2017-09-01 13:18:47 332

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除