/* poj 3617 best cow line
题意为给定长度为N的字符串S,需要构造出长度为N的字符串T,开始的时候T是一个空串
随后只能反复从S的开始或者结尾的地方取一个字符接到T的末尾,要求是根据这个规则
构造出字典序尽可能小的字符串T
算法设计:每次都比较末尾和开头的字符,如果不想等,则选择字典序较小的那个字符
接到T的末尾,这样构造出来的...
分类:
其他好文 时间:
2015-04-02 22:37:59
阅读次数:
181
迷宫问题算法的实现(基于队列版本和回朔法版本)...
分类:
编程语言 时间:
2015-04-01 15:33:36
阅读次数:
191
前言:《程序员修炼之路-(0)前言:在路上, 再上路》在前言中已经对知识体系进行了梳理,主要分为问题定义、算法与数据结构、系统平台API、编程语言实现、代码设计、测试验证等等。目前集中精力编写算法与数据结构部分,这可能也是最艰难的一部分,之后再考虑补充其他部分。对于这一部分的内容编排,主要以《算法设计与分析基础》、《算法》以及LeetCode算法题中的问题分类为横向,以《算法设计与分析基础》中罗列...
分类:
其他好文 时间:
2015-03-31 22:24:42
阅读次数:
156
堆排序利用的是堆这种数据结构来对进行排序,(二叉)堆数据结构是一种数组对象,它可以被视为一棵完全的二叉树,树的每个节点与数组中存放该节点的值得那个元素对应。这里使用最大堆进行排序算法设计,最大堆就是parent(i) > leftchild(i) 且parent(i) > rightchild(i)...
分类:
其他好文 时间:
2015-03-27 23:35:39
阅读次数:
220
软件开发基础知识
1、软件开发策略:
瀑布模型:通过顺序执行前面的每个阶段来构成的,当每完成一步后,开发过程就转移到下一步骤。
原型模型:根据需要不断重复地评估并修改这个模型,直到得到一个可以接受的版本,从这个版本可以开发出完整的系统或产品。
螺旋模型:综合了瀑布模型和原型模型的特点,主要用于大型的复杂系统。
敏捷模型:根据需要进行适应和修改。一种得到极大关注的敏捷方法是极限模型(ext...
分类:
编程语言 时间:
2015-03-18 12:32:58
阅读次数:
176
汇集1000道C语言和C++语言的练习题 (例题、笔试题、编程题、算法设计题),由我亲自配上答案(点此查看)。 语法题我就不出了,那个没意思,看书就可以了。
本贴汇集50题 (0000-0050),持续更新...
1. 抽签题
从10个数中随机抽取5个数。(相当于双色球抽签问题)
2. 插入排序
已有10个按增序排列好的整数1,3,5,7,9,11,13,15,17,19。要求把...
分类:
编程语言 时间:
2015-03-18 09:03:31
阅读次数:
159
这一节我们说说闭合曲线的填充,为什么会有这个东西呢
当我们递归一个场景时,我们以推动箱子为标志,如果不推动箱子,那么跑到哪里都白跑,而出现重复的判别最好就是所有坐标相同
包括这些坐标互换位置(排序结果相同),而后一个场景搬运工坐标能移动到另一个场景搬运工的位置(求解算法部分再详细说)
由于场景有多个箱子,每个箱子可以有几个方向移动,反复的寻路效率不高,起初我想删除路径部分,只检测能否...
分类:
编程语言 时间:
2015-03-15 00:54:56
阅读次数:
153
说了这么多,这一节是本文最后一节啦,就是程序的进一步优化。
这一节呢,还分那么几个小意思,- -!
1.程序逻辑和机制的优化
2.源码级代码的优化
3.针对CPU和操作系统的编译优化
问:大侠,我是过来人,排序哈希我渐渐习惯了,不痛了,还有哪些地方可以更刺激的
答:前面我们提到检测局面重复,不要让后面的局面有跟走过的局面一样,导致无限的堕落,无法自拔,还有一样是可以算作...
分类:
编程语言 时间:
2015-03-15 00:50:48
阅读次数:
239
这一节是本文的核心内容,即推箱子游戏求解算法的设计思路过程
前面已经说过过,判断局面重复的最好标准不是局面完全一致,而是坐标排序相同且角色坐标通行
如下图,角色无论怎么移动,不推动箱子的时候,都能回到原来的位置,算作同一个局面:
再如下图,两个箱子互换位置,结果与没有移动箱子是一样的,所以排序箱子坐标以后一致,还是相同局面
问:有必要判断局面重复吗?是不是只是提升一...
分类:
编程语言 时间:
2015-03-15 00:49:16
阅读次数:
503