Android-Charts技术交流QQ群现已开通,欢迎加入。群号:170987350
Android-Charts技术社区网站http://faq.android-charts.com/

[算法]背包问题的动态规划算法解答,C语言实现

December 26th, 2008 No comments

今天继续背包问题相关解法,主要内容:动态规划

想到这个解法是想到了前几天的一道软考软件设计师考试的下午算法考题,我是参加者,内容大概如下:通常每种食物往往有不同的营养价值,顾客往往需要一种算法实现用最少的花费获得最高的营养价值,(食物不重复),现在要求在花费N元钱获得最大营养价值

分析:相信求解的原理不用说了,背包问题,软考的题录使用的是动规算法,跟今天的主题相关,那我们看下面的代码吧。

本题动规解法的原理:由于客户选择不同的食物会产生不同的营养结果,因此我们需要动态绑定两者之间的价格和营养价值总和和关系,建立一个关联数组,这样的话每一种价格花费会产生不同结果,我们再进行大小筛选,就是在已有的选择的前提下再增加一定价格的食物,如果相加之后超出则排除,或者相加它的营养价值之后小于相加一种更价格便宜的食物的话也排除,这样可以求出每一个价位的食品的最大营养价值,然后根据要求输出某一价位的结果

Read more…

Categories: 算法研究 Tags: , ,

[C语言教程]指针转换方式实现C语言的指针操作安全代码

December 26th, 2008 2 comments

今天讲点比较枯燥的理论知识,关于C语言的安全指针,如果你习惯于用C语言,那么会知道C语言的指针操作是很不安全的,但是这反而是C语言的特色之一,同时增强了C语言的灵活性和高效性,我本人也是比较偏爱于C语言的,并不是C++或者其他语言在算法方面不行,而是C语言的算法表述更加易于理解和运行更加高效,往往专家编程或者高效编程会采用C或者它的发展C++,但是对于初学者来说,要正确运用好C尤其是它的指针确实比较困难,所以我在此讲解几种C安全指针的处理方法。但是在此说明,请保持良好的编程习惯和正确的C指针处理方法,本文只提供一些

Read more…

Categories: 零敲碎打 Tags:

[算法]背包问题的经典算法和贪心算法解答,C语言实现

December 24th, 2008 6 comments

圣诞前夜讲点比较具有圣诞感觉的算法,背包问题算法,这里我写了经典算法和贪心算法两种解决方法,因为时间不多,所以给出的数组是已经排序的,因为贪心算法可能要用得到,经典算法因为是一个一个比较,因此排序也就没有那么重要了,可能两种算法的最终运行效果一样的,朋友们调试的时候记得修改我给出的测试数组,今天实在太忙了,贪心使用的排序算法没有写,留着以后给大家讲排序算法的时候使用吧,圣诞快乐,诸位朋友们。

背包问题:就是现在有一个容量为PSIZE的背包,同时又有N件item,现在要求将这些item放入这个背包里面去,要求尽量放一定要求的item(比如按照大小的顺序),又要求放最多的item或者放的item权值之和要最大

Read more…

Categories: 算法研究 Tags: ,

操作系统,模拟进程管理之PCB块管理法,C语言实现

December 24th, 2008 2 comments

首先大家祝福平安夜快乐啊,今天要发布的代码是一款C语言编写的模拟操作系统管理进程的程序调试环境TC,使用了PCB进行进程管理控制,建立三个基本的队列:等待、执行、阻塞进行模拟操作系统的进程管理,模拟进程的调度,模拟用户的创建、执行、阻塞、挂起、唤醒等操作

最近要准备准备操作系统考试,所以放一个程序跟大家分享

Read more…

Categories: 算法研究 Tags: ,

[WP]常见wordpress安装,运行,使用出现500错误分析和解决方法

December 23rd, 2008 7 comments

常见wordpress安装,运行,使用出现500 internal error错误分析和解决方法

最近因为写了一篇博文,内容是关于我的一次WP故障情况的解决过程和分析,然后有放在wordpress.org.cn上,结果有很多朋友看过后还仍然有少部分朋友没能解决问题,在我的博客给我留言,在此我把我目前接触到的几种PHP 500 Error错误情况和处理方法跟大家分享,如果你用这些方法解决了问题,欢迎留言

首先解释下500 internal Error是个什么东西,翻译过来就是服务端系统内部错误,错误的编号500 ,产生的原因也有多种,大家不要觉得内部错误很可怕,其实很多情况只是服务器的安全措施而已,比如脚本解析错误或者其他的异常服务器也会出现500错误,并不是正真的服务器内部错误,本文主要说的也是这些相关的错误,我就曾经试过上传一个去掉分号的phpinfo() 结果直接500而不是PHP的错误号和提示让你检查是否丢失分号,如果你的主机是这种情况,那么以后的500错误应该是常事了

Read more…

Categories: 博客技巧 Tags: ,

[算法]经典算法8皇后(N皇后)问题的解法,C语言实现

December 22nd, 2008 2 comments

今天写点简单的,C语言求解八皇后问题,相信学过C语言的朋友一定知道这个经典问题吧,解法也是多种,目前主要有回溯,递推两种方法,今天讲回溯+递归的求法,效率可能不太高,不过直接易于理解

问题 : 能不能在一个标准的国际象棋棋盘上放8个皇后,使她们相互之间不能互吃具体点就是,在一个8*8的棋盘上放皇后,皇后是所有方向上都可以移动的,现在要让她们不能互吃的话就要使得她们不会在同一条线上

具体解法:从第一行第一列的位置开始放棋子(假定列优先),然后记录其占用的行斜直线的编号,然后放第二个棋子,在排除前面所有棋子的所占的编号的情况下选择到有效位置,然后继续,直到放满8个棋子为止

Read more…

Categories: 算法研究 Tags:

求在10000范围内的所有质数,要求其的值等于两个质数的平方和

December 21st, 2008 No comments

一条学校的ACM演练题目,很让人郁闷

今天之所以想讲关于求质数的算法,完全跟这条题目有关,看到题目的朋友一定现在已经有了思路了吧,不过下面的讲解会让你很郁闷,hoho,带上你的思维,跟着我来

第一,分析题目 排除10000以内,就是求一个质数满足其的值等于两个质数的平方和就是要满足

K= A^2 + B^2 这个要求,其中A,B是质数,K当然是要求的质数,那好解法可以这样求一个质数,然后再求出另一个不同的,为什么不同,要是相同 K>2的话,K肯定不质数了,好然后再平方啊,再来相加,最后再验证所得的K是不质数了,结果出来,说实话,当你等待了N秒之后发现结构仍然没有出来之后的时候你会觉得自己的算法该优化了,其实我开始是这么想的,结果。。。

Read more…

Categories: 算法研究 Tags: