![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法分析与设计java实现
choosezzz
人总要去奋斗,为了梦想也好,现实所迫也罢。
展开
-
快速排序java实现(基础)
快速排序java实现原创 2017-09-19 13:03:03 · 569 阅读 · 0 评论 -
反转单链表(java)
反转单链表:输入链表头节点,输入反转后的链表头节点第一次想到的解法(时间和空间复杂度较高) 将单链表每个节点依次读入到栈中,然后出栈,重新连接成反转后的单链表 public static ListNode convert(ListNode node) { if (node == null) { return null; ...原创 2018-09-12 09:52:25 · 328 阅读 · 0 评论 -
计算超大整数的阶乘(java)
思想 思想来自于网上,将所有的计算结果每一位存储到数组中,利用十进制,每次阶乘对数组中的每一位与目标阶乘,然后计算进位,比如:8!= 5040*8={5,0,4,0}*8={40,0,32,0}={4,0,3,2,0}代码实现 /** * 计算大整数的阶乘 * @param bigNumber */ public static vo...原创 2018-08-27 11:27:37 · 5237 阅读 · 0 评论 -
选择排序java实现
public static<T extends Comparable<T>> void selectSort(T[] arr){ for (int i = 0; i < arr.length-1; i++) { for (int j=i+1;j<arr.length;j++){ if...原创 2018-08-06 13:59:17 · 164 阅读 · 0 评论 -
冒泡排序
public static <T extends Comparable<T>> void bubbleSort(T[] arr){ for (int i=0;i<arr.length-1;i++){ for (int j=0;j<arr.length-i-1;j++){ if (...原创 2018-08-06 13:53:04 · 143 阅读 · 0 评论 -
之字形打印二叉树(Java 递归实现)
分析: 按照之字形打印,可以认为奇数层从左向右打印,偶数层从右向左打印 同时,本次最先访问到的结点的子节点信息在下一次打印时为最后打印,符合先进后出的逻辑,故可以使用栈来完成结点类:class TreeNode{ int val;//当前节点value TreeNode left;//左儿子 TreeNode right;//右儿子 ...原创 2018-08-06 13:23:50 · 1462 阅读 · 0 评论 -
将数组中奇数放到偶数前面java实现
public static int[] solution(int[] a){ int i=0; int j=a.length-1; while(i<j){ //从前向后找到第一个偶数 while (i<j&&a[i]%2!=0){ i...原创 2018-06-27 14:44:44 · 2266 阅读 · 0 评论 -
计算整型中二进制1的个数
1.每一位都与0x1做&amp;amp;amp;运算,计算结果是否为1原理: &amp;amp;amp;与运算:只有两个二进制数对应位置都为1或0时才为1 如111&amp;amp;amp;111=111 , 111&amp;amp;amp;101=101,1111&amp;amp;amp;0001=1java代码:public static int getCount(int num) {原创 2018-06-27 14:01:37 · 329 阅读 · 0 评论 -
快速排序java实现
原理 快速排序思想: 每次选出一个基准变量,依次从前找到第一个大于基准变量的元素,接着从后向前找到第一个小于基准变量的元素,交换两个变量位置,当所有变量都交换完成,及找到了基准变量的正确位置,然后将基准变量与正确位置的元素交换 继续采用分治策略,对基准变量前后分开使用快速排序缺点快速排序不适合具有重复变量的数组Java代码import java.uti...原创 2018-06-27 13:30:36 · 258 阅读 · 0 评论 -
最大子序列求和问题java实现
问题给定一个整数序列,其中包含正负数,求该序列中所有连续子序列的最大和解法1 思路:使用暴力解法,将所有可能的结果全部计算出来,然后找出其中的最大子序列 存在问题:具有大量的重复计算 时间复杂度:O(n^3)java代码:public static int[] getMaxChildArrayOne(int[] arr){ int[] ...转载 2018-06-30 12:38:11 · 1290 阅读 · 0 评论 -
合并排序java实现
合并排序 java实现转载 2017-10-10 20:06:38 · 492 阅读 · 0 评论 -
二分法查找
二分法转载 2017-10-09 14:48:00 · 208 阅读 · 0 评论 -
计算数组的最大子段和
对最大子段和的不同算法归纳,简单算法,递归算法以及动态规划转载 2017-10-09 13:46:16 · 279 阅读 · 0 评论 -
Hanoi问题java实现
Hanoi塔问题原创 2017-09-19 16:09:12 · 820 阅读 · 0 评论 -
整数划分问题java实现
高级算法分析与设计书中的整数划分问题java实现转载 2017-09-19 14:48:03 · 2610 阅读 · 0 评论 -
排列问题java实现
排列问题java实现原创 2017-09-19 13:13:35 · 586 阅读 · 0 评论 -
之字形打印二叉树(java 非递归)
public static ArrayList&lt;ArrayList&lt;Integer&gt;&gt; Print(TreeNode pRoot) { if (pRoot == null) { return null; } ArrayList&lt;ArrayList&lt;Integer&gt;&a原创 2018-09-06 18:10:29 · 332 阅读 · 0 评论