![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java数据结构与算法
sk2die
这个作者很懒,什么都没留下…
展开
-
1.ArrayList和Vector
ArrayList和Vector使用了动态数组扩展,以实现扩展存储空间。默认构造函数初始化ArrayList时,大小,长度只有10,之后再根据存入的数据扩展其长度。实质上是由数组实现。 链表实现线性表。利用Node类来实现 class Node{ private T data; private Node next; }原创 2017-01-11 21:19:07 · 205 阅读 · 0 评论 -
10.有序数组——折半查找(递归)(含java库中应用)
public boolean binarySearch( int first, int last, T desiredItem){ boolean found; int mid = (first + last)/2; if(first > last) found = false; else if(desiredItem.e原创 2017-01-11 21:43:54 · 371 阅读 · 0 评论 -
9.无序数组——迭代顺序查找(迭代)
public boolean contains( T anEntry){ boolean found = false; for ( int index = 0;!found && (index < length); index++) { if(anEntry.equals( list[index])){原创 2017-01-11 21:42:04 · 714 阅读 · 0 评论 -
8.可变对象(无序表和有序表——含java库中应用)
在下列引用中,在chris 修改last的值后,list中的值也改变。因为list和chris引用的是同一个对象。所以chris客户可以修改它植入list中的对象。这是一个便利的方案。但修改ADT中可变对象的能力,使客户有可能破坏ADT的完整性。 Name chris = new Name( "Chris", "Coffee"); List<Name> li原创 2017-01-11 21:41:01 · 412 阅读 · 0 评论 -
7.基数排序
在计算机中,典型的整数大小限制在大约10个十进制数字或32个比特。 基数排序是O(n)的。基数排序把数组元素当作等长的字符串对待,首先将字符串按照字符串一段的字符(数字)分配到若干个桶中,然后再将这些字符串收集起来,按照下一个位置的字符或者数字将他们再次分派到这些桶中。算法陆续这个过程,直至所有位置的字符都被处理过为止。 在基数排序中,对整数排序需要10个桶,对单侧排序至少需要26个桶。 虽然基数原创 2017-01-11 21:37:25 · 252 阅读 · 0 评论 -
6.快速排序(含java库中应用)
时间效率:最坏情况下是O(n2 ),最好和平均情况下都是O(nlogn)的。快速排序在实际应用中通常更快,并且不需要归并排序在归并时所需要的额外存储。Java类库中的快速排序: 包java.util中的类Arrays使用快速排序对基本类型的数组按升序进行排序方法: public static void sort(type [ ] a);//对整个数组a排序。 public原创 2017-01-11 21:36:30 · 1243 阅读 · 0 评论 -
5.归并排序(含java库中应用)
时间效率:O(nlogn),它需要额外的存储空间来执行归并步骤Java类库中的归并排序: 包java.util中的类Arrays定义了对数组按升序进行排序的静态方法sort的几个版本。对于元素是对象类型的数组,sort使用归并排序。方法: public static void sort(Object[ ] a);//对整个数组a排序。public static void sort(Obj原创 2017-01-11 21:34:30 · 349 阅读 · 0 评论 -
4.希尔排序
时间效率:O(n1.5) 是对插入排序 的修改:原创 2017-01-11 21:30:35 · 189 阅读 · 0 评论 -
3.插入排序:
时间效率:O(n2), 数组改变不大应用中最流行的排序,数组越接近于有序,插入排序所需做得工作越少。原创 2017-01-11 21:29:16 · 232 阅读 · 0 评论 -
2.选择排序-java实现
——将Comparable对象的数组从小到大排序的类 时间效率:O(n2)package algorithmData; /**使用选择排序法对数组进行排序的类。 * 将Comparable对象的数组从小到大排序的类 */ public class SortArray { /**Task:将数组中前n个对象,按照升序排列 * @param a Comparable对象的数组原创 2017-01-11 21:28:39 · 233 阅读 · 0 评论 -
11.ADT词典——Map接口
标准包java.util含有接口Map原创 2017-01-11 21:44:40 · 513 阅读 · 0 评论