- 博客(10)
- 收藏
- 关注
原创 冒泡排序(BubbleSorting)
什么是冒泡排序? 比较某个序列中相邻的两个元素,如果元素位置颠倒就交换两个元素。冒牌排序排成之后的序列就像气泡一样,越大的元素越往上浮。 下面附上代码 代码分析 第一层for循环(外层循环)用来遍历趟数 第二层for循环(内层循环)用来排序,每一次循环完成就会将该序列中那些未排序的关键字中最大的那个排到末尾 例如,第一趟排序完成时,序列中最大的关键字排到数组末尾,第二趟排序完成时,序列...
2019-02-20 10:44:25
298
原创 查找是否存在两数之和等于某数
题目:给定一个升序整型数组, 在其中找到两个数之和等于某个给定的值,就输出这两个数的下标,否则输出“查找无果” 下面是三中时间复杂度的代码,可以参考一下 1.时间复杂度为o(n²) function:直接两个for循环暴力解决问题 /* * 方法描述:该方法主要用于找到两个数之和等于某数 * @param a:待查询数组 x:待查找的关键值 * @author @Lqx */ ...
2019-01-20 16:54:07
718
原创 普里姆算法(Prim)求最小生成树
算法设计: 任选图中一个顶点加入U1 选取U1中点与U2中点连接成的最小的邻边,将该边原来在U2中的那个顶点加入U1,将此边加入 最小生成树中 重复步骤2直到边数等于顶点数减一 算法图解: 代码(邻接矩阵) //普利姆算法:将图的所有顶点分成两个顶点集,一个存放树的结点,另一个存放未在生成树中的点 //每次找已经是树节点的最小边,因为它是运用了切分定理所以不会形成回路不用判断 /* *...
2019-01-14 00:27:49
2782
原创 克鲁斯卡尔(Kruskal)算法求最小生成树
算法思想:贪心算法,先将图的所有点存起来,然后每次找出该图中权最小的边,如果该边加入到已经生成的树中不会形成回路就可以加入,否则不行,直到边数等于顶点数减一时停止加边进去 下图是kruskal算法的图解 上代码,注意要判断是否形成回路,这是该算法的核心 /* * 类描述:克鲁斯卡尔算法求最小生成树 * @author Lqx */ public cl...
2019-01-13 18:12:51
1571
原创 用数组实现堆排序 (HeapingSorting)
What 堆排序满足完全二叉树,主要分为小顶堆和大顶堆 若待排序列形成的二叉树如下: 变为大顶堆图示如下(大顶堆:每个父结点的关键字值都比它的所有孩子大) 变为小顶堆如图所示(小顶堆:每个父结点的关键字值都比它的所有孩子小) How 算法思想: 先对待排序列进行一次排序将它变为小顶堆,这时候二叉树根节点就是这个序列最小的结点 把根节点跟最后一个结点的关键字进行交换 再...
2018-12-01 13:31:55
851
原创 Java中Math.random获取随机数
一、理解Math.random()随机数 系统默认该随机数范围0-1之间的double值,注意:这里的区间是[0,1)//也就是你取不到1 所以如果你在这里使用(int)Math.random() 只能得到一个数字0 二、扩大随机数取值范围 例:获取[50,100)之间的随机整数 int i=(int)(Math.random()*50+50); //Math.random()只能获取...
2018-09-17 11:39:21
6064
原创 你懂黑客吗?黑客!=cracker
可能在许多人的眼中,所谓的黑客就是喜欢侵入他人系统做违法犯罪的一群人,但是事实并非如此。在计算机行业中,黑客是指专家级程序员。我其实也并不懂黑客,而是最近看了一本书有感而发。 在上大学之前,我确实一直认为所谓黑客就是那种技术高超的大恶人,但我们的老师却改了我们的看法。我记得 她曾经说过,黑客其实不是你们所想的那样的恶人。而最近我在阅读一本《黑客与画家》的书,又对黑客有了进一步理解。借用此书,我看...
2018-09-17 08:09:05
719
原创 在eclipse中配置tomcat
暑假的时候配置tomcat的时候没想到要写下来,因为最近有同学在问我怎么在eclipse中配置tomcat,所以今天想把它写下来,以后有需要也可以用 First step: 在eclipse上方的菜单栏有一个window,点击window,然后点击最底部的Perferences Second step: 之后会弹出这样一个窗口, 下拉选择,Server >>>...
2018-09-08 16:00:13
235
原创 用逆波兰表达式解决混合运算问题
最近,做了一个java小型计算器,发现其中的一个比较核心的难题,即怎么解决混合运算问题。一开始百度之后,还有参考了别人的代码之后,自己也运用逆波兰表达式敲了比较完善的解决混合运算代码。 解释一下逆波兰表达式:逆波兰表达式又叫做后缀表达式。在通常的表达式中,二元运算符总是置于与之相关的两个运算对象之间,这种表示法也称为中缀表示。而按照逆波兰表达式,每一运算符都置于其运算对象之后,故称为...
2018-05-20 00:48:34
761
原创 对C语言中交换两个数是否交换成功的一点理解
在学习指针的时候老师会给一个用变量做参数的交换两个数小编程,但是,那个编程中两个数的值交换前后却没有变化,然后老师由此引入指针。一开始我也不理解为什么同样的交换步骤,为什么有时候可以有时候不可以,然后请教了师兄,师兄讲的很好也很专业,可是我还是似懂非懂。。。然后,现在又再仔细地写了不同情况的交换两个数,终于算是懂了。(下面是我的一点理解,如果有错误,麻烦指出,谢谢!) //【1】这是指针课题引入
2018-01-15 22:35:37
550
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人