会员
众包
新闻
博问
闪存
赞助商
HarmonyOS
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
~$ 存档
博客园
::
首页
::
博问
::
闪存
::
新随笔
::
联系
::
订阅
::
管理
::
公告
上一页
1
···
21
22
23
24
25
26
下一页
2016年3月14日
5.约瑟夫问题[数组法]
摘要: 另一种解法:将数组全部置1,累计相加到报数,则将该位置置为0,意为该位出列,如此反复。关键在于:把数组作环状处理,这个手法已经演练很多遍了!
阅读全文
posted @ 2016-03-14 09:16 LuoTian
阅读(316)
评论(0)
推荐(0)
5.约瑟夫问题(循环链表)
摘要: /* 此解法有一bug,假如有8个人,从第一个人开始数,每说到1就删除,相当于自删除,程序崩溃 */约瑟夫问题,有n个人,编号为1,2,...,n,围成一个圆圈,按照顺时针方向从编号为k的人从1开始报数,报数为m的人出列,如此重复下去,直到所有的人都出列。编写一个算法,要求输入n,k,m,按照出列的
阅读全文
posted @ 2016-03-14 07:09 LuoTian
阅读(1994)
评论(0)
推荐(0)
*循环单链表
摘要: 创建不带头结点,只有head指针(n个结点):
阅读全文
posted @ 2016-03-14 06:20 LuoTian
阅读(225)
评论(0)
推荐(0)
字符串删除一个字符
摘要: 这题看似简单,但是琢磨一下,还是挺有意思!
阅读全文
posted @ 2016-03-14 01:30 LuoTian
阅读(554)
评论(0)
推荐(0)
2016年3月12日
数组元素逆置[拙劣的递归]
摘要: /* 完整代码@映雪 */ #include <iostream> using namespace std; #define change(x,y); \ a[x]=a[x]+a[y];\ a[y]=a[x]-a[y];\ a[x]=a[x]-a[y]; void f(int a[],int l,i
阅读全文
posted @ 2016-03-12 02:24 LuoTian
阅读(1163)
评论(0)
推荐(0)
4.斐波那契数列[尾递归]
摘要: /*网络摘录加工*/尾部递归是一种编程技巧。递归函数是指一些会在函数内调用自己的函数,如果在递归函数中,递归调用返回的结果总被直接返回,则称为尾部递归。尾部递归的函数有助将算法转化成函数编程语言,而且从编译器角度来说,亦容易优化成为普通循环。这是因为从电脑的基本面来说,所有的循环都是利用重复移跳到代
阅读全文
posted @ 2016-03-12 00:39 LuoTian
阅读(423)
评论(0)
推荐(0)
2016年3月11日
3.求数组元素中的最大值[分治递归]
摘要: 问题提出:求数组A={1,5,7,22,9}中的最大值。这种递归非常绕,需要简化来看,比如拿只含两个元素的数组带进去观察。如A={12,25},把问题简化到最简单。 另一种精简的算法,来源于《算法:C语言实现》117页 这种思路简化说明:把一个数组不停的二分对切,只到不能再切为止(切到只有一个元素时
阅读全文
posted @ 2016-03-11 22:02 LuoTian
阅读(734)
评论(0)
推荐(0)
2.简单求和[递归法]
摘要: 计算1+2+3+4+5第一种,从后往前加。 第二种,从两边对加,例:(1+5)+(2+4)+3,需要判定,假如元素个数为偶,则左边+1==右边,如果为奇数,则左边==右边:
阅读全文
posted @ 2016-03-11 21:28 LuoTian
阅读(671)
评论(0)
推荐(0)
1.背包问题[穷举法]
摘要: 有一个背包最多可装重量8千克的物品,假设要用该背包装如下水果,要求使背包中装的物品的价值最大,应该装下列哪些物品才能达到要求? 解题思路:首先穷举所有组合可能,有5种物品,一共组合32-1种可能。然后排除超重的可能,在不大于8千克的前提下,再计算各种可能的总价值,最后,比较这些组合的价值,得到最大值
阅读全文
posted @ 2016-03-11 07:44 LuoTian
阅读(4905)
评论(0)
推荐(0)
2016年3月10日
*【数组】题型汇总
摘要:
阅读全文
posted @ 2016-03-10 17:52 LuoTian
阅读(222)
评论(0)
推荐(0)
简单选择排序
摘要: 选择排序的基本思想:对n个记录进行扫描,选择最小的记录,将其输出,接着在剩下的n-1个记录中扫描,选择最小的记录将其输出,不断重复这个过程,直到只剩一个记录为止... 简单选择排序法类似人的排序习惯:从数据中选择最小(或最大)的一个数据,然后将该数与第1个数交换,接下来从剩下数据中选择最小(或最大)
阅读全文
posted @ 2016-03-10 16:16 LuoTian
阅读(234)
评论(0)
推荐(0)
*冒泡排序
摘要: 冒泡排序法是一种相邻数据交换的排序方法。基本思想是:对待排序记录关键字从后往前(逆序)进行多遍扫描,当发现相邻两个关键字的次序与排序要求的规则不符时,就将这两个记录进行交换。这样,关键字较小的记录将逐渐从后面向前面移动,就像气泡在水中向上浮一样。 改进算法:设置一个标志变量flag,在每一遍扫描之前
阅读全文
posted @ 2016-03-10 15:25 LuoTian
阅读(362)
评论(0)
推荐(0)
集合元素是否包含的算法
摘要: 【补充另一种方法:】http://www.cnblogs.com/tinaluo/p/5249195.html看笛卡尔积时突然想到的问题,现有集合A={1,5,7,10,12},集合B={5,10,12},检测集合A从前往后的有序方向是否包含集合B的每一个元素?经过计算,发现使用队列比较合适,如图:
阅读全文
posted @ 2016-03-10 02:20 LuoTian
阅读(505)
评论(0)
推荐(0)
2016年3月9日
幂集合[集合论]
摘要: 补充:(改进:一种递归方法)http://www.cnblogs.com/tinaluo/p/5294341.html已知集合S,S的幂集合是指集合S所有子集的集合,用P(S)来表示,例如: 这让我想起二进制模拟,假如现在用算法模拟打印幂集合(空集除外),该怎么办呢?二进制模拟起到很好的作用,首先来
阅读全文
posted @ 2016-03-09 23:46 LuoTian
阅读(1336)
评论(0)
推荐(0)
2016年3月8日
共享栈[数组]
摘要: 根据书上描述,共享栈的特点是:两个栈顶,置放在数组两头,入栈迎面相向,相遇时栈满,看图示: 主要处理两步工作:第一,栈空的标志。这里沿用前面的约定,左栈用-1,而右栈用MAXSIZE,也就是放在数组的最左右两端。第二,判满。这里采用左栈+1=右栈表明栈满。 此外,还需要一个状态标志flag,让用户选
阅读全文
posted @ 2016-03-08 19:15 LuoTian
阅读(1977)
评论(0)
推荐(0)
表逆置[数组和链表]
摘要: 对于数组(也可为线性表),逆置就是首尾数据两两交换,首先计算交换的次数: 交换次数=(len-1)/2 第二种,单链表,这个困难很多,因为链表只有一个头指针,要依赖这个指针对整个链条进行操作,需要很高的技巧!首先观察链表: 如果逆置(反序),交换数据是不可能的,只有换种思路,把结点之间的指针指向反转
阅读全文
posted @ 2016-03-08 03:00 LuoTian
阅读(571)
评论(0)
推荐(0)
2016年3月7日
字符串移位[源:《编程之美》]
摘要: 《编程之美》221页,问题:字符串scr=“AABCD”,字符串des="CDAA",循环移位src,是否包含串des? 首先考虑的是移位的问题,有两种可能,要么左移,要么右移,书中采用的是左移的方式。在移动AABCD之后,得到 ABCDA,问题就在于这个最先移动的A放在哪?根据前面的学习,马上可以
阅读全文
posted @ 2016-03-07 20:26 LuoTian
阅读(346)
评论(0)
推荐(0)
顺序表[A+B->C]
摘要: 除此之外,并集的这个思路还可以求两个集合的相同元素,例,A={1,3,5,7},B={2,3,7},求两数组的相同元素
阅读全文
posted @ 2016-03-07 00:41 LuoTian
阅读(479)
评论(0)
推荐(0)
2016年3月6日
0.九九乘法表[递归]
摘要: #include using namespace std; void draw(int n,int x) { if(x0) { draw(n-1); draw(n,1); cout using namespace std; int main() { for(int i=1;i<=9;i++) { ...
阅读全文
posted @ 2016-03-06 22:37 LuoTian
阅读(336)
评论(0)
推荐(0)
*直接插入排序
摘要: 首先,把书上的算法简化一下,直接用数组研究更直观。 定义一个数组: 它假设第一个元素是有序的,然后用第二个元素(下一个元素)和它进行比较,通过循环移动判定,得到一个有序列。得到一个有序列之后,再用下一个元素和这个有序列进行比较,这里的比较,就是局部比较,采用的是尾插法,从后往前。 比如,前两个元素排
阅读全文
posted @ 2016-03-06 18:42 LuoTian
阅读(324)
评论(0)
推荐(0)
上一页
1
···
21
22
23
24
25
26
下一页