二叉搜索树(binary search tree) 集合(set)和映射(map) 代码(C++)本文地址: http://blog.csdn.net/caroline_wendy二叉搜索树(binary search tree)作为常用而高效的数据结构, 标准库中包含实现, 在标准库的集合(set)和映射(map), 均使用.具体操作代码如下.代码:/*
* main.cpp
*
* C...
分类:
其他好文 时间:
2014-07-21 15:48:15
阅读次数:
190
二叉搜索树(binary search tree) 代码(C)本文地址: http://blog.csdn.net/caroline_wendy二叉搜索树(binary search tree)可以高效的进行插入, 查询, 删除某个元素, 时间复杂度O(logn).简单的实现方法如下.代码:/*
* main.cpp
*
* Created on: 2014.7.20
* Au...
分类:
其他好文 时间:
2014-07-21 15:15:16
阅读次数:
273
堆(heap) 代码(C)本文地址: http://blog.csdn.net/caroline_wendy堆(heap)作为二叉树的重要应用, 时间复杂度O(logn), 需要熟练的写出其代码, 基本代码如下, 需要背写.代码:/*
* main.cpp
*
* Created on: 2014.7.20
* Author: spike
*/
/*eclipse cdt,...
分类:
其他好文 时间:
2014-07-21 11:47:44
阅读次数:
223
库函数优先级队列(priority_queue)输出最小值 代码本文地址: http://blog.csdn.net/caroline_wendy库函数优先级队列(priority_queue)的实现方式是堆(heap), 默认是输出最大值.输出最小值, 需要指定参数, priority_queue, greater >代码:/*
* main.cpp
*
* Created on: 20...
分类:
编程语言 时间:
2014-07-21 11:46:44
阅读次数:
287
远征队(expedition) 代码(C)本文地址: http://blog.csdn.net/caroline_wendy题目: 远征队有一辆卡车需要行驶L单位的距离, 开始时, 车上有P单位的汽油, 每开1单位需要1单位的汽油.途中有N个加油站A, 每个加油站能加油B, 油箱容量无限大, 如果能到达终点, 求最小加油次数.例如: 需要行驶L=25的距离, 起始有P=10单位汽油, 有N=4个加...
分类:
其他好文 时间:
2014-07-21 11:41:34
阅读次数:
211
多重集组合数 代码(C)本文地址: http://blog.csdn.net/caroline_wendy题目: 有n种物品, 第i种物品有a个. 不同种类的物品可以互相区分, 但相同种类的无法区分.从这些物品中取出m个, 有多少种取法? 求出数模M的余数.例如: 有n=3种物品, 每种a={1,2,3}个, 取出m=3个, 取法result=6(0+0+3, 0+1+2, 0+2+1, 1+0+...
分类:
其他好文 时间:
2014-07-21 11:38:56
阅读次数:
248
篱笆修理(Fence Repair) 堆(heap) 代码(C++)本文地址: http://blog.csdn.net/caroline_wendy题目参考: http://blog.csdn.net/caroline_wendy/article/details/37911157本题比较简单, 直接使用堆(heap)选取两个最小的值, 合并再放入堆, 最后求出和.代码:/*
* main.cp...
分类:
编程语言 时间:
2014-07-21 11:27:24
阅读次数:
336
划分数 代码(C)本文地址: http://blog.csdn.net/caroline_wendy题目: 有n个无区别的物品, 将它们划分成不超过m组, 求出划分方法数模M的余数.例如: n=4的m=3个划分, result=4(1,1,2; 1,3; 2,2; 4)使用动态规划(DP)方法, n的m划分a, 如果每个i都有a, {a-1}的集合就是n-m的m划分; a=0时, 就是n的m-1划...
分类:
其他好文 时间:
2014-07-21 11:14:04
阅读次数:
198
最长上升子序列问题 代码(C)本文地址: http://blog.csdn.net/caroline_wendy题目: 有一个长为n的数列a. 请求出这个序列中最长上升子序列的长度. 最长上升子序列的数字之间可以有间隔.即最长上升子序列(LIS, Longest Increasing Subsequence), 例如: n=5, a={4,2,3,1,5}, result=3(2,3,5).使用动...
分类:
其他好文 时间:
2014-07-20 22:34:43
阅读次数:
297
多重部分和问题 代码(C)本文地址: http://blog.csdn.net/caroline_wendy题目: 有n种不同大小的数字a, 每种各m个. 判断是否可以从这些数字之中选出若干使它们的和恰好为K.使用动态规划求解(DP), 方法1: dp[i+1][j] = 用前n种数字是否能加和成j, 时间复杂度O(nKm), 不是最优.方法2: dp[i+1][j] = 用前i种数加和得到j时,...
分类:
其他好文 时间:
2014-07-20 22:23:03
阅读次数:
177