算法
文章平均质量分 57
a920224663
这个作者很懒,什么都没留下…
展开
-
算法例子-递归算法
思想:递归算法就是一种直接或者间接的调用自身的算法,递归算法的具体实现过程一般是通过函数或子过程来完成,在函数或子过程的内部编写与代码直接或间接的调用自己,即可完成递归操作。例子:求阶乘算法:#include int fact(int n);int main(){int i;printf("Please input a number");scanf("%d"原创 2013-07-25 11:49:46 · 654 阅读 · 0 评论 -
算法例子-枚举算法1.4
条件:①可预先确定候选答案的数量。②候选答案的范围在求解之前必须是一个确定的集合实例:添运算符5 5 5 5 5=5注:不考虑括号。当填入除号时,要求右侧的数不能为0。乘除的运算比加减高。代码:#include int main(){int j,i[5];int sign;int result;int count=0;int原创 2013-07-24 20:32:55 · 767 阅读 · 0 评论 -
算法 分治算法
算法思路 使用分治法设计程序时,一般可按以下步骤进行:(1)分解:将要求解的问题划分成若干规模较小的同类问题;(2)求解:当子问题划分得足够小时,用较简单的方法解决;(3)合并:按求解问题的要求,将子问题的解逐层合并,即可构成最终的解。 实例:乒乓球比赛赛程安排代码:#include #define MAXN 64int原创 2013-07-25 21:09:06 · 505 阅读 · 0 评论 -
贪婪算法
贪婪算法基本思路:从问题的某一个初始解出发逐步逼近给定的目标,以尽可能快地求得更好的解。当达到算法中的某一步不能再继续前进时,就停止算法,给出近似解。 由贪婪算法的特点和思路可看出,该算法存在以下问题:不能保证最后的解是最优的;不能用来求最大或最小解问题;只能求满足某些约束条件的可行解的范围。实例:换零钱 人民币有100、50、10、5、2、1、0.5、0原创 2013-08-02 08:29:18 · 609 阅读 · 0 评论 -
试探算法
算法思路为了求得问题的解,先选择某一种可能情况进行试探,在试探过程中,一旦发现原来的选择的假设情况是错误的,就退回一步重新选择,继续向前试探,如此反复进行,直至得到解或证明无解。 实例:生成彩票号码组合 假设有一种彩票,每注由7个1~29的数字组成,且这7个数字不能相同,编写程序生成所有的号码组合。代码:#include #define MAXN原创 2013-08-04 15:17:13 · 1131 阅读 · 0 评论 -
线性表
线性表数据结构具有以下特征:有且只有一个“首元素”;有且只有一个“末元素”;除末元素之外,其余元素均有惟一的后继元素;除首元素之外,其余元素均有惟一的前驱元素。 对于线性表,主要可进行以下操作:添加结点;插入结点;删除结点;查找结点;遍历结点;统计结点数。代码:头文件:文件名:SeqList.h#include #i原创 2013-08-08 20:51:08 · 549 阅读 · 0 评论