数据结构与算法
认真很简单
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
选择排序
选择排序: 元素个数:n 外层循环:0 内层循环:out+1 过程:将out后面的所有元素与当前out元素值比较,保证out位置的元素是从out到最后的这些元素中最小的。 package datastructure.c3.sort.selectsort; public class ArraySel { private long[] a; private int nElems; p原创 2017-04-07 12:44:55 · 239 阅读 · 0 评论 -
插入排序
插入排序: 元素个数:n 外层循环:1 内层循环:x 过程:外层从第二个元素开始,到最后一个;0到out-1的元素已有序,内层循环从out位置向前找,将out位置元素插入到合适位置x,须将x到out-1之间的元素后移一个位置。 package datastructure.c3.sort.insertsort; public class ArrayIns { private long[原创 2017-04-07 13:27:46 · 309 阅读 · 0 评论 -
冒泡排序
冒泡排序算法简单,易理解,效率低 package datastructure.c3.sort.bubblesort; public class ArrayBub { private long[] a; private int nElems; public ArrayBub(int max){ a=new long[max]; nElems=0; } public void i原创 2017-04-07 11:48:22 · 276 阅读 · 0 评论 -
优先级队列
插入过程:外层循环当前所有元素,从最后一个到第一个,要插入的元素与当前循环元素比较,当前元素向后移位或退出循环 package datastructure.c4.queue.priority; public class PriorityQ { private int maxSize; private long[] queArray; private int nItems; public原创 2017-04-09 10:22:25 · 281 阅读 · 0 评论 -
链表
链表和数组都是应用广泛的通用存储结构 数组:无序数组搜索效率低,有序数组插入效率低,数组创建后大小不可改变 链表:在表头插入删除O(1),平均插入、删除O(N)(与数组相比不需要移动元素),链表大小可扩展 一般链表 package datastructure.c5.linklist.def; public class Link { public int iData; public d原创 2017-04-10 12:28:14 · 334 阅读 · 0 评论 -
栈(基于数组和链表)
栈是一个概念上的辅助工具,提供限定性的访问方法,使程序易读且不易出错。时间复杂度为O(1)。 栈的数组实现 package datastructure.c4.stack.stackdef; public class StackX { private int maxSize; private long[] stackArray; private int top; public Stac原创 2017-04-08 00:05:12 · 370 阅读 · 0 评论 -
基于数组的循环队列和基于链表的队列
数据的插入和取出涉及对当前数据量nItems属性的修改,大量的插入、移除操作时,对nItems属性的操作可能影响性能,可参考不包含数据项个数属性的队列实现。 包含数据项个数属性的队列 package datastructure.c4.queue.queuedef; public class Queue { private int maxSize; private long[] queAr原创 2017-04-08 00:20:42 · 409 阅读 · 5 评论 -
有序数组
有序数组使用二分查找算法,查找速度比无序数组快,插入数据比无序数组慢,删除数据有序及无序数组都较慢。 package datastructure.c1.array.ordarray; public class OrdArray { private long[] a; private int nElems; public OrdArray(int max){ a=new long[原创 2017-04-06 20:47:03 · 899 阅读 · 0 评论 -
数组算法时间复杂度
一些算法的时间复杂度 算法 时间复杂度 线性查找 O(N) 二分查找 O(logN) 无序数组的插入 O(1) 有序数组的插入 O(N) 无序数组的删除 O(N) 有序数组的删除 O(N)原创 2017-04-06 20:57:54 · 6086 阅读 · 0 评论
分享