数据结构和算法
文章平均质量分 96
七夜落幕丶
这个作者很懒,什么都没留下…
展开
-
搬运的一些动态规划题目(C++实现)
1、连续子数组的最大和来源:剑指offer面试题31 题目,输入一个整形术组,数组里有整数也有负数,数组中一个或连续的多个整数组成一个子数组,求所有子数组的和的最大值,要求时间复杂度为O(n)例子:int arr[] = {1,-2,3,10,-4,7,2,-5}; 在遍历整个数组的过程中,我们可以发现数组中每一个数字为子数组尾部(假设长度为m),对应的子数组和,都是和前面m-...原创 2018-04-17 01:00:57 · 2552 阅读 · 0 评论 -
背包问题-背包九讲阅读笔记
背包问题0-1背包这是最简单的背包问题,简而言之就是每件物品只有一样,可以取或者不取,对于容量为V的背包,N件物品,每一件都可以尝试放入背包中,那么顺序就是遍历这N件物品,每遍历到一个新的物品,都尝试将当前物品放入背包中,看看是放入后得到的价值高还是不放的价值高,取最高者即可。所以需要一个二维数组w[N][V],这个二维数组中的每一个位置w[i][j]代表的意思是前i个物品在容量为...原创 2018-07-04 14:34:52 · 1785 阅读 · 1 评论 -
非递归快排
非递归快排通过使用栈来模拟函数栈的调用,每次将首尾指针存入到栈中,并对首尾之间区域进行快排。#include <iostream>#include <stack>#include <vector>using namespace std;//利用栈将序列的起始和末尾保存起来int partition(vector<int> &am...原创 2018-07-27 00:02:30 · 394 阅读 · 0 评论