上一页 1 ··· 99 100 101 102 103 104 105 106 107 ··· 137 下一页
摘要: 题目:将一个正整数分解质因数。例如:输入90,打印出90=233*5。 程序分析:对n进行分解质因数,应先找到一个最小的质数k,然后按下述步骤完成: (1)如果这个质数恰等于n,则说明分解质因数的过程已经结束,打印出即可。 (2)如果n <> k,但n能被k整除,则应打印出k的值,并用n除以k的商, 阅读全文
posted @ 2018-10-23 22:13 尐鱼儿 阅读(109) 评论(0) 推荐(0) 编辑
摘要: 题目:打印出所有的 "水仙花数 ",所谓 "水仙花数 "是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个 "水仙花数 ",因为153=1的三次方+5的三次方+3的三次方。 阅读全文
posted @ 2018-10-23 22:12 尐鱼儿 阅读(110) 评论(0) 推荐(0) 编辑
摘要: 题目:判断101-200之间有多少个素数,并输出所有素数。 程序分析:判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除, 则表明此数不是素数,反之是素数。 阅读全文
posted @ 2018-10-23 22:11 尐鱼儿 阅读(83) 评论(0) 推荐(0) 编辑
摘要: 题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少? 阅读全文
posted @ 2018-10-23 22:08 尐鱼儿 阅读(116) 评论(0) 推荐(0) 编辑
摘要: 使用10个辅助队列,假设最大数的数字位数为 x, 则一共做x次,从个位数开始往前,以第i位数字的大小为依据,将数据放进辅助队列,搞定之后回收。下次再以高一位开始的数字位为依据。 以Vector作辅助队列,基数排序的Java代码: 阅读全文
posted @ 2018-10-22 02:55 尐鱼儿 阅读(300) 评论(0) 推荐(0) 编辑
摘要: 将两个或两个以上的有序表组合成一个新的有序表。归并排序要使用一个辅助数组,大小跟原数组相同,递归做法。每次将目标序列分解成两个序列,分别排序两个子序列之后,再将两个排序好的子序列merge到一起。 阅读全文
posted @ 2018-10-22 02:54 尐鱼儿 阅读(104) 评论(0) 推荐(0) 编辑
摘要: 分为直接选择排序,堆排序 直接选择排序: 第i次选取 i到array.Length-1中间最小的值放在i位置。 堆排序: 首先,数组里面用层次遍历的顺序放一棵完全二叉树。从最后一个非终端结点往前面调整,直到到达根结点,这个时候除根节点以外的所有非终端节点都已经满足堆得条件了,于是需要调整根节点使得整 阅读全文
posted @ 2018-10-22 02:53 尐鱼儿 阅读(131) 评论(0) 推荐(0) 编辑
摘要: 包括冒泡排序,快速排序。 冒泡排序法: 该算法是专门针对已部分排序的数据进行排序的一种排序算法。如果在你的数据清单中只有一两个数据是乱序的话,用这种算法就是最快的排序算法。如果你的数据清单中的数据是随机排列的,那么这种方法就成了最慢的算法了。因此在使用这种算法之前一定要慎重。这种算法的核心思想是扫描 阅读全文
posted @ 2018-10-22 02:50 尐鱼儿 阅读(151) 评论(0) 推荐(0) 编辑
摘要: 包括直接插入排序,希尔插入排序。 直接插入排序: 将一个记录插入到已经排序好的有序表中。 1, sorted数组的第0个位置没有放数据。 2,从sorted第二个数据开始处理: 如果该数据比它前面的数据要小,说明该数据要往前面移动。 a,首先将该数据备份放到 sorted的第0位置当哨兵。 b,然后 阅读全文
posted @ 2018-10-22 02:46 尐鱼儿 阅读(136) 评论(0) 推荐(0) 编辑
摘要: 分类: 1)插入排序(直接插入排序、希尔排序)。 2)交换排序(冒泡排序、快速排序)。 3)选择排序(直接选择排序、堆排序)。 4)归并排序。 5)分配排序(箱排序、基数排序)。 所需辅助空间最多:归并排序 所需辅助空间最少:堆排序 平均速度最快:快速排序 不稳定:快速排序,希尔排序,堆排序。 选择 阅读全文
posted @ 2018-10-22 02:41 尐鱼儿 阅读(102) 评论(0) 推荐(0) 编辑
上一页 1 ··· 99 100 101 102 103 104 105 106 107 ··· 137 下一页