程序最美(寻路)

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

上一页 1 ··· 5 6 7 8 9

2013年6月22日

计算序列中元素的位置

摘要: 计算序列中元素的位置 寻找序列中元素的位置,这里序列是有序的。根据序列中元素是否有重复分为无重复序列和有重复序列两种情况。一、无重复的情况:我们只考虑升序的情况,降序的情况与此类似,故不作讨论。比如,有以下序列:3、5、6、8、9、10、15、30、41 待查找元素为15,其位置为6(3的位置为0,位置从0开始计算),其逆位置为2 如果待查找元素在序列中不存在,则返回位置-1,逆位置也是-1。1)顺序查找 最直观的的方法是顺序查找,程序实现如下:// 无重复顺序查找#include <iostream>#include <vector>using namespace s 阅读全文

posted @ 2013-06-22 00:00 unixfy 阅读(674) 评论(0) 推荐(0) 编辑

2013年6月20日

如何判断是否中奖

摘要: 如何判断是否中奖问题描述:假设开奖结果为:A B C,A、B、C可能相同也可能不同,抽奖结果为:X Y Z,X、Y、Z可能相同也可能不同。如何判断A B C与X Y Z有多少个相同的数字。本质上是求两个集合的交集。交集操作:1) 直观的做法:针对集合2种的每个元素,查找其在集合1种是否出现了,如果出现则纳入集合3。对集合2种的元素操作完后,对得到的集合3进行去重,即为交集。如果是顺序查找则时间复杂度是O(M*N)——实现1如果是二分查找,二分查找的前提是排序,则时间复杂度是O(N*logN)或O(M*logM)。 2)改进的做法:分别对集合1、2排序,顺序扫描,进行判断,对匹配的元素纳入交集。 阅读全文

posted @ 2013-06-20 22:45 unixfy 阅读(340) 评论(0) 推荐(0) 编辑

排列、组合的计算

摘要: 排列、组合的计算排列从N中选择出M个元素,且保持选择的有序,每选择出M个元素后,将其看做是一组样本,那么样本总数为A(N, M)。A(N, M) = N * N-1 * … * N-M+1 如果M=0,定义A(N, 0) = 1; 如果M=N,则A(N, N) = N * N-1 * N-2 * … * 3 * 2 * 1 = N!(N的阶乘)。组合从N中选择出M个元素,如果不考虑顺序,则样本总数为C(N, M)。C(N, M) = (N * N-1 * … * N-M+1) / (M *M-1 * M-2 * … * 3 * 2 * 1) 如果M=0,定义C(N, 0) = 1; 如果M=N 阅读全文

posted @ 2013-06-20 21:05 unixfy 阅读(588) 评论(0) 推荐(0) 编辑

2013年6月19日

一个抽奖模型的求解

摘要: 一个抽奖模型的求解2013-06-19问题描述: 有3组数,分别都是 [0-9] 10个数字,从中随机分别各选择1个数字,不分先后顺序,作为开奖结果。开奖结果设定后,从中随机分别各选择1个数字,不分先后顺序,作为抽奖结果。 如果3个数字与开奖结果完全匹配,则是一等奖; 如果2个数字与开奖结果匹配,则是二等奖; 如果1个数字与开奖结果匹配,则是三等奖; 如果没有任何数字与开奖结果匹配,则不中奖; 问:1. 开奖结果总共有多少种? 2. 一、二、三等奖的概率各是多少?求解过程: 首选计算开奖结果有多少种。从3组 [0-9] 10个数字中各选1个数字,那么有10^3=1000种情况,但是这是有序的情 阅读全文

posted @ 2013-06-19 23:48 unixfy 阅读(475) 评论(0) 推荐(0) 编辑

2013年6月18日

关于·我

摘要: 关于·我 在博客园安家啦! 不做搬运工(因为搬运不起任何正作用),杜绝吐槽,只做原创。 这里的一切都是思考的产物。 但很多都是浮云 个人信息 说明 类别 明细 百度空间 http://hi.baidu.com/unixfy 主要记录读研阶段的所学、所想、所感 共计<1784>篇记录 程序设计语言(C 阅读全文

posted @ 2013-06-18 21:11 unixfy 阅读(450) 评论(1) 推荐(0) 编辑

上一页 1 ··· 5 6 7 8 9

导航