插入排序

package com.arithmetic.sort; import com.Util.StdOut; /** * 整理牌的方法是一张一张的来,将每一张插入到其他已经有序的牌的适当位置中。 * * 在实现中我们需要给插入的元素腾出空间,我们需要将其余所有元素在插入之前都向右移动一位....

2018-12-18 09:01:21

阅读数:7

评论数:0

选择排序

package com.arithmetic.sort; import com.Util.StdIn; import com.Util.StdOut; /** * 选择排序 * * 首先找到 数组中最小的元素,将其与数组第一个元素交换位置,再次 在剩下的元素中找到最小与第二个元素 *...

2018-12-17 10:47:57

阅读数:15

评论数:1

Stack 链表

package com.arithmetic; import com.Util.StdIn; import com.Util.StdOut; import java.util.Iterator; import java.util.NoSuchElementException; /** *...

2018-12-14 15:32:32

阅读数:12

评论数:0

Bag 背包 链表实现

package com.arithmetic; import java.util.Iterator; import java.util.NoSuchElementException; /** * 背包 * 是一种不支持删除元素的集合数据类型。 * 它的目的是帮助我们收集元素和迭代所有...

2018-12-13 16:59:50

阅读数:7

评论数:0

Queue 链表实现

package com.arithmetic; import java.util.Iterator; import java.util.NoSuchElementException; /** * 队列 * 是一种基于先进先出策略的集合类型,按照任务产生的顺序完成他们的策略 * * ...

2018-12-13 16:45:39

阅读数:6

评论数:0

Stack 链表实现

package com.Util; import java.util.Iterator; import java.util.NoSuchElementException; public class Stack<Item> implements I...

2018-12-13 14:49:36

阅读数:7

评论数:0

Java 单链表

package com.arithmetic; /** * 单链表 */ public class SingleLinked { Node first; int N; SingleLinked() { N = 0; } // 头...

2018-12-13 14:11:48

阅读数:7

评论数:0

ResizingArrayStack 动态调整数组大小

package com.arithmetic; import java.util.Iterator; import java.util.NoSuchElementException; // 能够动态调整数组大小的实现 public class ResizingArrayStack&a...

2018-12-13 10:02:10

阅读数:9

评论数:0

下压(LIFO)栈,ResizingArrayStack

能够动态调整数组大小的实现:耗时跟栈大小成正比 package com.vadonmo.exp.example; import java.util.Iterator; /** * 下压(LIFO)栈,能够动态调整数组大小的实现 * */ public class ResizingA...

2018-12-12 17:05:10

阅读数:10

评论数:0

典型字符串处理代码

package com.arithmetic; public class StringApi { // 判断字符串是否是一条回文 public static boolean isPalindrome(String s) { int N = s.length()...

2018-11-19 10:57:04

阅读数:7

评论数:0

格式化输出

package com.arithmetic; // 格式化输出 public class Format { public static void main(String[] args) { // 字符 String s = "hell...

2018-11-16 15:14:46

阅读数:14

评论数:0

相关API

package com.arithmetic; import java.util.Arrays; public class StdRandom { // 随机返回【a,b)之间的一个 double 值 public static double uniform(double ...

2018-11-16 14:36:16

阅读数:8

评论数:0

典型数组处理代码

package com.arithmetic; import java.util.Arrays; public class Array { // 获得数组最大值 public static double getMaxValue(double[] array) { ...

2018-11-15 10:39:34

阅读数:35

评论数:0

时间复杂度 O(log n) 是什么意思?

预先知道算法的复杂度是一回事,了解其后的原理是另一件事情。 不管你是计算机科班出身还是想有效解决最优化问题,如果想要用自己的知识解决实际问题,你都必须理解时间复杂度。 先从简单直观的 O(1) 和 O(n) 复杂度说起。O(1) 表示一次操作即可直接取得目标元素(比如字典或哈希表),O(n) ...

2018-09-21 10:08:03

阅读数:339

评论数:0

分页原理

  getUserTagList(  int pageNum, int pageSize );  开始索引:           List<T>   list=   userDao.findUserList();           使用subList(...

2018-04-26 17:50:35

阅读数:22

评论数:0

树的高度和深度的区别

对于树的基本概念上理解,对于才接触数据结构的人来说,树的高度和深度是一个容易混淆的知识点,现解释如下:1.高度对于高度的理解,我们不管他数据结构什么什么知识,就拿楼房来说,假如一个人提问:楼房的高度有好高?我们会下意识的从底层开始往上数,假如楼有6层,则我们会说,这个楼有6层楼那么高,则提问者就会...

2018-02-09 09:45:43

阅读数:2168

评论数:0

AVL树的旋转图解和简单实现

AVL树是带有平衡条件的查找二叉树。这个平衡条件要容易保持,而且他要保证树的深度为O(logN)原文地址:http://blog.csdn.net/qq_25806863/article/details/74755131平衡条件一个最理想的平衡条件是左右两个子树的高度完全相等,但只有节点数量为2^...

2018-02-09 09:23:09

阅读数:57

评论数:0

如何理解红黑树

方式1: 漫画展示: https://zhuanlan.zhihu.com/p/31805309方式2:     动态演示:       https://www.cs.usfca.edu/~galles/visualization/RedBlack.html博客: http://www.cnblo...

2018-02-08 19:15:53

阅读数:49

评论数:0

二叉树的左旋和右旋

树的旋转,分为左旋和右旋,以下借助图来做形象的解释和介绍:1.左旋(右子为轴,当前结点左旋)如上图所示:当在某个结点pivot上,做左旋操作时,我们假设它的右孩子y不是NIL[T],pivot可以为树内任意右孩子而不是NIL[T]的结点。左旋以pivot到y之间的链为“支轴”进行,它使y成为该孩子...

2018-02-08 11:06:45

阅读数:90

评论数:0

教你初步了解红黑树

                 教你初步了解红黑树 作者:July、saturnman   2010年12月29日本文参考:Google、算法导论、STL源码剖析、计算机程序设计艺术。推荐阅读:Left-Leaning Red-Black Trees, Dagstuhl Workshop on ...

2018-02-08 10:17:19

阅读数:21

评论数:0

提示
确定要删除当前文章?
取消 删除
关闭
关闭