一步一步学算法
文章平均质量分 75
Colin丶
这个作者很懒,什么都没留下…
展开
-
A星寻路算法-(入门级)
你是否在做一款游戏的时候想创造一些怪兽或者游戏主角,让它们移动到特定的位置,避开墙壁和障碍物呢?如果是的话,请看这篇教程,我们会展示如何使用A星寻路算法来实现它!在网上已经有很多篇关于A星寻路算法的文章,但是大部分都是提供给已经了解基本原理的高级开发者的。本篇教程将从最基本的原理讲起。我们会一步步讲解A星寻路算法,幷配有很多图解和例子。不管你使用的是什么编程语言或者操作平台,你会发现本篇教程很有帮原创 2014-11-22 17:49:40 · 18242 阅读 · 18 评论 -
ACM学习-POJ-1082-Calendar Game
菜鸟学习ACM,纪录自己成长过程中的点滴。学习的路上,与君共勉。 ACM学习-POJ-1082-Calendar Game Calendar GameTime Limit: 1000MS Memory Limit: 10000KTotal Submissions: 4559 Accepted: 2145原创 2013-09-21 14:11:41 · 2847 阅读 · 3 评论 -
ACM学习-POJ-1063-Flip and Shift
菜鸟学习ACM,纪录自己成长过程中的点滴。学习的路上,与君共勉。 ACM学习-POJ-1063-Flip and Shift Flip and ShiftTime Limit: 1000MS Memory Limit: 10000KTotal Submissions: 6623 Accepted: 3086原创 2013-09-21 18:39:05 · 2756 阅读 · 5 评论 -
ACM学习-POJ-1004-Financial Management
菜鸟学习ACM,纪录自己成长过程中的点滴。学习的路上,与君共勉。ACM学习-POJ-1003-Financial ManagementFinancial ManagementTime Limit: 1000MS Memory Limit: 10000KTotal Submissions: 109412 Accept原创 2013-09-21 11:00:14 · 4123 阅读 · 1 评论 -
ACM学习-POJ-1003-Hangover
菜鸟学习ACM,纪录自己成长过程中的点滴。学习的路上,与君共勉。ACM学习-POJ-1003-HangoverHangoverTime Limit: 1000MS Memory Limit: 10000KTotal Submissions: 92150 Accepted:原创 2013-09-20 18:42:50 · 4191 阅读 · 7 评论 -
ACM学习-POJ-1050-To the Max
菜鸟学习ACM,纪录自己成长过程中的点滴。学习的路上,与君共勉。ACM学习-POJ-1050-To the MaxTo the MaxTime Limit: 1000MS Memory Limit: 10000KTotal Submissions: 37462 Accepte原创 2013-09-20 15:48:48 · 5112 阅读 · 9 评论 -
一步步学算法(算法题解)---5
本人大二,最近开始自学算法,在此记录自己学习过程中接触的习题。与君共勉。水平有限,目前涉及的题目都比较水。题目分布为5+1. 5为自己学习的5道水题。 1为从网上找到的比较有水平的相关题目。一步步学算法(算法题解)---5算式求值。1.括号配对。问题描述:编一程序对输入的含有大,中,小括号的表达式进行括号配对原创 2013-09-18 23:14:11 · 2056 阅读 · 7 评论 -
ACM学习-POJ-1182-食物链
菜鸟学习ACM,纪录自己成长过程中的点滴。学习的路上,与君共勉。 ACM学习-POJ-1182-食物链食物链Time Limit: 1000MS Memory Limit: 10000KTotal Submissions: 37740 Accepted: 10977Descrip原创 2013-10-03 21:44:40 · 3886 阅读 · 6 评论 -
ACM学习-POJ-1163-The Triangle
菜鸟学习ACM,纪录自己成长过程中的点滴。学习的路上,与君共勉。ACM学习-POJ-1163-The Triangle原创 2013-10-02 16:01:07 · 4811 阅读 · 7 评论 -
一步步学算法(算法题解)---4
本人大二,最近开始自学算法,在此记录自己学习过程中接触的习题。与君共勉。水平有限,目前涉及的题目都比较水。题目分布为5+1. 5为自己学习的5道水题。 1为从网上找到的比较有水平的相关题目。一步步学算法(算法题解)---4穷举法。穷举算法是程序设计中使用得最为普遍、大家必须熟练掌握和正确运用的一种算法。它利用计算机运算速度快、精原创 2013-09-15 13:40:37 · 2996 阅读 · 9 评论 -
一步步学算法(算法分析)---6(贪心算法)
这个总结的很详细。在学习过程中帮了我很大的忙。希望分享出来对大家有用。原文链接 http://www.cnblogs.com/chinazhangjie/archive/2010/11/23/1885330.html参考资料 《算法分析与设计》 王晓东编著(在排版过程做了些改动。还望见谅)贪心算法顾名思义,贪心算法总是作出在当前看来最好的选择。也就是说贪心算法原创 2013-09-29 18:45:08 · 4545 阅读 · 7 评论 -
常见算法-多项式计算(1)
最近在学算法,做做笔记,便于以后温习。学习资源:《常用算法程序集》一。多项式求值1.一维多项式问题描述:计算形如的多项式在指定点x处的函数值。问题分析:首先,将多项式表述成如下嵌套形式:然后从里往外一层一层地进行计算。其递推计算公式如下:最后得到的u即多项式值。下面,通过代码计算此多项式:#include /*原创 2013-09-02 21:21:14 · 12760 阅读 · 8 评论 -
一步步学算法(算法题解)---3
本人大二,最近开始自学算法,在此记录自己学习过程中接触的习题。与君共勉。水平有限,目前涉及的题目都比较水。题目分布为5+1. 5为自己学习的5道水题。 1为从网上找到的比较有水平的相关题目。一步步学算法(算法题解)---3图形输出。这部分应该算比较有趣的一章了。虽然涉及的算法没什么技术含量,也比较简单。但是看着控制台输出漂亮的图形,还是原创 2013-09-09 17:53:27 · 2082 阅读 · 4 评论 -
数据结构-算法-时间复杂度计算
算法的时间复杂度定义为:在进行算法分析时,语句总的执行次数T(n)是关于问题规模n的函数,进而分析T(n)随n的变化情况并确定T(n)的数量级。算法的时间复杂度,也就是算法的时间量度,记作:T(n}=0(f(n))。它表示随问题规模n的增大,算法执行时间的埔长率和 f(n)的埔长率相同,称作算法的渐近时间复杂度,简称为时间复杂度。其中f( n)是问题规横n的某个函数。根据定义,求解算法原创 2013-10-07 12:50:14 · 21716 阅读 · 10 评论 -
ACM学习-POJ-动态规划题集
POJ 动态规划题目列表声明:1.这份列表当然不是我原创的,从文库里下载了一份,放到这里便于自己浏览和查找题目。※最近更新:Poj斜率优化题目1180,2018,3709 列表一:经典题目题号:容易: 1018, 1050, 1083, 1088, 1125, 1143, 1157, 1163, 1178, 1179, 118原创 2013-09-23 15:38:13 · 3307 阅读 · 6 评论 -
一步步学算法(算法分析)---6(Floyd算法)
Floyd算法Floyd算法又称为弗洛伊德算法,插点法,是一种用于寻找给定的加权图中顶点间最短路径的算法。该算法名称以创始人之一、1978年图灵奖获得者、斯坦福大学计算机科学系教授罗伯特·弗洛伊德命名。正如我们所知道的,Floyd算法用于求最短路径。Floyd算法可以说是Warshall算法的扩展,三个for循环就可以解决问题,所以它的时间复杂度为O(n^3)。Floyd算法的基本思想原创 2013-09-24 20:15:28 · 2896 阅读 · 3 评论 -
c语言:统计整数二进制表示中1的个数(汉明重量)
问题描述:对于一个字节的无符号整型变量,求其二进制表示中1的个数。第一次见到这个问题应该是icephone第一次例会的时候,问题虽然简单,但也值得深思。后来查阅资料的时候才知道这个问题有个正式的名字叫Hamming_weight,也被一些公司当做面试题。下面通过几个不同阶段的算法,谈谈这个问题。一、逐个数刚刚接触这个问题的时候是上学期吧,大一,还刚接触软件工程,原创 2013-08-20 21:29:32 · 18036 阅读 · 10 评论 -
<游戏开发中的人工智能> -- 阅读笔记
到家已经几天了, 休息了一阵, 是时候重新学习知识了。接下去一段时间, 会啃《游戏开发中的人工智能》这本书, 顺便写写笔记。马上就大三了, 想想自己选的游戏方向, 现在还蛋疼。 选了一个自己喜欢的方向, 但是确实最忙的一个,这也意味着少时间继续我的iOS学习。也不知道是对是错。既然选了,就学吧。好不,不扯多了。接下去是该系列的笔记。(持续更新)第一章: 游戏人工智能简介1. 定性AI与非定性AI定原创 2014-08-03 21:51:17 · 5104 阅读 · 10 评论 -
A星算法详解(个人认为最详细,最通俗易懂的一个版本)
A* 寻路算法原文地址:http://www.gamedev.net/reference/articles/article2003.asp概述虽然掌握了A*算法的人认为它容易,但是对于初学者来说,A*算法还是很复杂的。搜索区域(The Search Area)我们假设某人要从A点移动到B点,但是这两点之间被一堵墙隔开。如图1,绿色是A,红色是B转载 2014-04-07 10:29:09 · 251143 阅读 · 100 评论 -
<算法导论>学习笔记(3)--递归树求递归算法时间复杂度
学习笔记(3)--递归树求递归算法时间复杂度Having a solid base of algorithm knowledge and technique is one characteristic that separates the truly skilled programmers from the novices. 是否具有扎实的算法知识和技术基础,是区分真正熟原创 2014-01-30 13:15:31 · 8446 阅读 · 9 评论 -
<算法导论>学习笔记(2)--第2章 算法基础
学习笔记(2)--第2章 算法基础Having a solid base of algorithm knowledge and technique is one characteristic that separates the truly skilled programmers from the novices. 是否具有扎实的算法知识和技术基础,是区分真正熟练的程序员与新原创 2014-01-28 20:36:34 · 5929 阅读 · 11 评论 -
<算法导论>学习笔记(1)--第1章 算法在计算中的作用
学习笔记(1)--第1章 算法在计算中的作用1. 算法(algorithm)可以用英语、计算机程序甚至是硬件设计来表达,它是一系列的 计算步骤,用来将输入数据转换成输出结果。简单的说,算法是定义良好的计算过程。2. 算法有正确的,也有不正确的,如果不正确算法的错误率可以得到控制的话,它们有时也是有用的,但一般我们只关注正确的算法。3. 数据结构是存储和组织数据的一种原创 2014-01-28 19:27:18 · 7245 阅读 · 6 评论 -
排序算法c语言描述-快速排序随机化
今天在做数据结构排序实验的时候,使用的快速排序。按理,我印象中快排是很高效的,不过,这次400w的数据,排了2659秒,有点意想不到,让我一度怀疑了算法是否写错了。不过,认真分析,认真想想后, 也就释然了。快排其实就是冒泡的升级版。每次递归,把当前序列分成两部分,一个比枢纽元素大,一个比枢纽元素小。具体思想可以参见的之前写的一篇博客。http://blog.csdn.net原创 2013-11-23 19:35:24 · 4708 阅读 · 6 评论 -
数据结构习题——第二章 线性表
第二章 线性表一、选择题1.下述哪一条是顺序存储结构的优点?( )A.存储密度大 B.插入运算方便 C.删除运算方便 D.可方便地用于各种逻辑结构的存储表示2.下面关于线性表的叙述中,错误的是哪一个?( )A.线性表采用顺序存储,必须占用一片连续的存储单元。B.线性表采用顺序存储,便于进行插入和删除操作。C.线性表采用链接存储,不必占用一片连续的存储单元。D.线性表原创 2013-09-08 22:40:28 · 21508 阅读 · 8 评论 -
数据结构习题——第一章 绪论
第一章 绪论一.选择题1.数据结构被形式地定义为(K,R),其中K是①的有限集合,R是K上的②的有限集合。 ①A.算法 B.数据元素 C.数据操作 D.逻辑结构 ②A.操作 B.映象 C.存储 D.关系2.算法分析的目的是①,算法分析的两个主要方面是②。 ①A.找出数据结构的合理性 B原创 2013-09-08 22:31:44 · 23274 阅读 · 9 评论 -
ACM学习-POJ-1017-Packets
菜鸟学习ACM,纪录自己成长过程中的点滴。学习的路上,与君共勉。 ACM学习-POJ-1017-PacketsPacketsTime Limit: 1000MS Memory Limit: 10000KTotal Submissions: 40435 Accepted: 13553Descr原创 2013-09-29 19:56:21 · 3192 阅读 · 4 评论 -
ACM学习-POJ-1088-滑雪
菜鸟学习ACM,纪录自己成长过程中的点滴。学习的路上,与君共勉。ACM学习-POJ-1088-滑雪滑雪Time Limit: 1000MS Memory Limit: 65536KTotal Submissions: 69092 Accepted: 25490Descriptio原创 2013-09-24 18:59:29 · 3628 阅读 · 9 评论 -
ACM学习-POJ-1143-Number Game
菜鸟学习ACM,纪录自己成长过程中的点滴。学习的路上,与君共勉。ACM学习-POJ-1143-Number GameNumber GameTime Limit: 1000MS Memory Limit: 65536KTotal Submissions: 2914 Accepted: 1162原创 2013-09-25 17:33:25 · 2799 阅读 · 7 评论 -
ACM学习-POJ-1125-Stockbroker Grapevine
菜鸟学习ACM,纪录自己成长过程中的点滴。学习的路上,与君共勉。ACM学习-POJ-1125-Stockbroker GrapevineStockbroker GrapevineTime Limit: 1000MS Memory Limit: 10000KTotal Submissions: 24008 Accepte原创 2013-09-24 21:38:21 · 2531 阅读 · 6 评论 -
一步步学算法(算法题解)---2
本人大二,最近开始自学算法,在此记录自己学习过程中接触的习题。与君共勉。水平有限,目前涉及的题目都比较水。题目分布为5+1. 5为自己学习的5道水题。 1为从网上找到的比较有水平的相关题目。一步步学算法(算法题解)---2经典问题回顾。1。河内之塔(Hanoi)问题描述:说明河内之塔(Towers o原创 2013-09-08 22:15:10 · 2017 阅读 · 8 评论 -
程序员面试智力题(六)
【36】从前有一位老钟表匠,为一个教堂装一只大钟。他年老眼花,把长短针装配错了,短针走的速度反而是长针的12倍。装配的时候是上午6点,他把短针指在“6 ”上,长针指在“12”上。老钟表匠装好就回家去了。人们看这钟一会儿7点,过了不一会儿就8点了,都很奇怪,立刻去找老钟表匠。等老钟表匠赶到,已经是下午7点多钟。他掏出怀表来一对,钟准确无误,疑心人们有意捉弄他,一生气就回去了。这钟还是8点、9点地跑,原创 2013-09-07 16:12:32 · 3603 阅读 · 5 评论 -
排序算法c语言描述---冒泡排序
排序算法系列学习,主要描述冒泡排序,选择排序,直接插入排序,希尔排序,堆排序,归并排序,快速排序等排序进行分析。文章规划:一。通过自己对排序算法本身的理解,对每个方法写个小测试程序。 具体思路分析不展开描述。二。通过《大话数据结构》一书的截图,详细分析该算法 。 在此,推荐下程杰老师的《大话数据结构》一书,当然不是打广告,只是以一名读者的身份来客观的看待这本书,确实是通俗易懂,值得原创 2013-08-05 22:16:56 · 10370 阅读 · 0 评论 -
排序算法c语言描述---选择排序
排序算法系列学习,主要描述冒泡排序,选择排序,直接插入排序,希尔排序,堆排序,归并排序,快速排序等排序进行分析。文章规划:一。通过自己对排序算法本身的理解,对每个方法写个小测试程序。 具体思路分析不展开描述。二。通过《大话数据结构》一书的截图,详细分析该算法 。 在此,推荐下程杰老师的《大话数据结构》一书,当然不是打广告,只是以一名读者的身份来客观的看待这本书,确实是通俗易懂,值得原创 2013-08-05 23:32:10 · 9969 阅读 · 0 评论 -
枚举法---八皇后
《c程序设计竞赛教程》例8.7 8皇后问题问题描述:八皇后问题,是一个古老而著名的问题,是回溯算法的典型例题。该问题是十九世纪著名的数学家高斯1850年提出:在8X8格的国际象棋上摆放八个皇后,使其不能互相攻击,即任意两个皇后都不能处于同一行、同一列或同一斜线上,问有多少种摆法。问题分析:这个问题是输出“所有”满足条件的放置方案,可以考虑采用枚举法实现。首先考虑原创 2013-08-02 23:45:32 · 5299 阅读 · 2 评论 -
素数算法逐步优化
素数求和问题,也是大一的一次实验。重新回顾,重新体会。问题描述:从键盘输入任意一个整数n,编程计算并输出1~n之间所有素数之和。附加题(选做):针对实验的问题想出一种算法,能对任意一个5首先,必须了解下素数的概念: (百度百科) http://baike.baidu.com/view/10626.htm?fromId=1767阶段一。常规逐个判断是否是素数原创 2013-08-02 19:59:23 · 4362 阅读 · 0 评论 -
进制转换
进制也就是进位制,是人们规定的一种进位方法。 对于任何一种进制---X进制,就表示某一位置上的数运算时是逢X进一位。 十进制是逢十进一,十六进制是逢十六进一,二进制就是逢二进一。进位制/位置计数法是一种记数方式,故亦称进位记数法/位值计数法,可以用有限的数字符号代表所有的数值。可使用数字符号的数目称为基数或底数,基数为n,即可称n进位制,简称n进制。现在最常用的是十进制,通常使用10个阿拉伯数原创 2013-07-27 12:36:53 · 6418 阅读 · 0 评论 -
大数,高精度计算---大数阶乘
大数是算法语言中的数据类型无法表示的数,其位数超过最大数据类型所能表示的范围,所以,在处理大数问题时首先要考虑的是怎样存储大数,然后是在这种存储方式下其处理的实现方法。一般情况下大数的存储是采用字符数组来存储,即将大数当作一个字符串来存储,而对其处理是按其处理规则在数组中模拟实现。六 大数阶乘。 阶乘问题比较典型,下面,将通过自己的学习逐步介绍。首先介绍两种常规方法。原创 2013-08-02 01:19:46 · 4908 阅读 · 0 评论 -
大数,高精度计算---高精度幂次
大数是算法语言中的数据类型无法表示的数,其位数超过最大数据类型所能表示的范围,所以,在处理大数问题时首先要考虑的是怎样存储大数,然后是在这种存储方式下其处理的实现方法。一般情况下大数的存储是采用字符数组来存储,即将大数当作一个字符串来存储,而对其处理是按其处理规则在数组中模拟实现。五 大数幂次。 问题来源: 《c程序设计竞赛实训教程》 问题描述:计算国债对于计算机原创 2013-08-01 20:46:42 · 10879 阅读 · 1 评论 -
大数,高精度计算---百位大数
大数是算法语言中的数据类型无法表示的数,其位数超过最大数据类型所能表示的范围,所以,在处理大数问题时首先要考虑的是怎样存储大数,然后是在这种存储方式下其处理的实现方法。一般情况下大数的存储是采用字符数组来存储,即将大数当作一个字符串来存储,而对其处理是按其处理规则在数组中模拟实现。七 百位大数。百位大数...让人又爱又恨阿。 回想去年,初学c语言,实验就有这个。那时候折腾老久了。原创 2013-08-02 11:52:44 · 11522 阅读 · 0 评论 -
大数,高精度计算---大数除法
大数是算法语言中的数据类型无法表示的数,其位数超过最大数据类型所能表示的范围,所以,在处理大数问题时首先要考虑的是怎样存储大数,然后是在这种存储方式下其处理的实现方法。一般情况下大数的存储是采用字符数组来存储,即将大数当作一个字符串来存储,而对其处理是按其处理规则在数组中模拟实现。 四 大数除法。 大数除法,应该算是四则运算里面最难的一种了。不同于一般的模拟,除法操作步数模仿手工除原创 2013-08-01 13:16:57 · 23729 阅读 · 4 评论