程序最美(寻路)

你还在坚持练习你的技术吗?运动员天天训练,音乐家也会演练更难的曲章。你呢?

2013年6月23日

二分查找细则讨论

摘要: 二分查找细则讨论 二分查找有两种实现方式:非递归和递归。我们首先给出非递归的实现,然后对其中的细则进行讨论。之后,我们再讨论递归实现的细则。一、非递归实现 这里我们假设待查找序列是有序且互异的。#include #include using namespace std;void nonrec_binary(const vector& arr, int n, int& pos){ pos = -1; assert(arr.size() > 0); int left = 0, right = arr.size() - 1, middle = 0; while (left .. 阅读全文

posted @ 2013-06-23 18:54 unixfy 阅读(243) 评论(0) 推荐(0) 编辑

从每组中依次选择一个元素

摘要: 从每组中依次选择一个元素 假设有N组元素,从N组中依次选取一个元素组成一个序列。假如N组元素的个数依次为A1,A2,…,AN,那么得到的序列数应该为A1*A2*…*AN。 下面我们关注的是如何生成A1*A2*…*AN个序列。由于N是个变量,如果是用N个循环实现,只能针对特定的N个组的情况。并且如果N很大时,实现起来不现实。 这里我们采用递归的方法来实现。// 递归实现#include #include #include using namespace std;void foo(const vector >& src, int x, int n, int& total, v 阅读全文

posted @ 2013-06-23 02:18 unixfy 阅读(343) 评论(0) 推荐(0) 编辑

导航