《算法导论》
文章平均质量分 71
Jeff-Li
四海为家,仗剑天涯。
展开
-
求一个数的所有质因数
现实生活中我们经常遇到这样的问题,对于一个给定的数,求出这个数的质因数,其实质因数非常重要,因为此数的所有真因数都可以通过质因数互相乘得到,所以质因数也是此数的最原始因数。这道题目的分析是这样的:我们知道最小的质数是2,那我们对这个数先作2分解,直接2不能分解了,我们再做3分解,直到3也不能分解了,那么下面每次分解的时候必定是质数,因为上面的分解把所有不是质数的情况去掉了。举个例子:2原创 2014-03-15 15:44:34 · 7992 阅读 · 0 评论 -
算法导论上二叉查找树的实现java
二叉查找树是一种应用十分广泛的数据结构,它在算法中应用十分广泛,二叉查找树支持多种动态集合的操作,这些操作主要包括:1、查找某个特定值:2、二叉查找树中最小值:3、二叉查找树中最大值:4、某个节点的前驱:5、某个节点的后继:6、插入特定值:7、删除特定值:一般情况下,我们为了保持查找和删除情况的唯一性,假设二叉查找树中各个元素的key值不想等。下面一一剖原创 2014-04-02 21:03:52 · 1479 阅读 · 0 评论 -
关于二分查找的深入讨论
下面我们几种要解决二分查找的三个方面的问题,注意:此处的二分查找不是二叉搜索,因为基于的数组是无序的,所以我们不用实现对数组进行排序,下面直接进入正题:1、用二分查找法搜索一个数组中的特定数:package programmer;/* * 题目:在一个无序的数组中找一个特定的数,使用二分查找法,此时不是二叉搜索树 */public class SearchNum { pu原创 2014-03-15 15:55:08 · 1089 阅读 · 0 评论 -
常用内部排序分析(全面分析)
一般而言,就现有的排序算法来看,排序算法大致可以分为内部排序和外部排序两种。如果整个排序过程不需要借助外部存储器(如磁盘等),所有的排序操作都在内存中完成,这种排序算法就是内部排序。如果参与排序的数据元素非常多,数据量特别大,计算机无法把整个排序过程放在内存中完成,必须借助外部存储器,这种排序算法就是外部排序,外部排序常用的一般是多路归并排序,即将原文件分解成多个能够一次性装入内存的部分,原创 2014-03-24 01:06:38 · 1315 阅读 · 0 评论 -
动态规划:选择原料工厂
题目:12个工厂分布在一条东西向高速公路的两侧,工厂距离公路最西端的距离分别是0、4、5、10、12、18、27、30、31、38、39、47,在这12个工厂中选取3个原料供应厂,使得剩余工厂到最近的原料供应厂距离之和最短,问应该选哪三个厂?原创 2014-04-18 16:16:30 · 1186 阅读 · 0 评论