- 博客(16)
- 收藏
- 关注
原创 链表
链表和数组都是应用广泛的通用存储结构数组:无序数组搜索效率低,有序数组插入效率低,数组创建后大小不可改变链表:在表头插入删除O(1),平均插入、删除O(N)(与数组相比不需要移动元素),链表大小可扩展一般链表package datastructure.c5.linklist.def;public class Link { public int iData; public d
2017-04-10 12:28:14 263
原创 优先级队列
插入过程:外层循环当前所有元素,从最后一个到第一个,要插入的元素与当前循环元素比较,当前元素向后移位或退出循环package datastructure.c4.queue.priority;public class PriorityQ { private int maxSize; private long[] queArray; private int nItems; public
2017-04-09 10:22:25 212
原创 基于数组的循环队列和基于链表的队列
数据的插入和取出涉及对当前数据量nItems属性的修改,大量的插入、移除操作时,对nItems属性的操作可能影响性能,可参考不包含数据项个数属性的队列实现。包含数据项个数属性的队列package datastructure.c4.queue.queuedef;public class Queue { private int maxSize; private long[] queAr
2017-04-08 00:20:42 323 5
原创 栈(基于数组和链表)
栈是一个概念上的辅助工具,提供限定性的访问方法,使程序易读且不易出错。时间复杂度为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 302
原创 插入排序
插入排序:元素个数: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 241
原创 选择排序
选择排序:元素个数: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 174
原创 冒泡排序
冒泡排序算法简单,易理解,效率低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 214
原创 数组算法时间复杂度
一些算法的时间复杂度算法时间复杂度线性查找O(N)二分查找O(logN)无序数组的插入O(1)有序数组的插入O(N)无序数组的删除O(N)有序数组的删除O(N)
2017-04-06 20:57:54 5966
原创 有序数组
有序数组使用二分查找算法,查找速度比无序数组快,插入数据比无序数组慢,删除数据有序及无序数组都较慢。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 807
原创 文件读取、复制
package io1;import java.io.BufferedInputStream;import java.io.BufferedOutputStream;import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.IOException;
2016-04-11 08:57:38 366
原创 RandomAccessFile文件读写操作
package practice.file01;import java.io.File;import java.io.IOException;import java.io.RandomAccessFile;import java.util.Arrays;/** * (1)java文件模型 * 在硬盘上的文件是byte byte byte存储的,是数据的集合 * (2)打开文件
2016-04-11 00:19:16 599
原创 遍历目录方法
package practice.file01;import java.io.File;import java.io.IOException;//列出File的一些常用操作,比如过滤,遍历等操作public class FileUtils { /** * 列出指定目录(包括其子目录)下的所有文件 * @param dir * @throws IOExceptio
2016-04-10 18:51:01 280
原创 File类常用API学习
package practice.file01;import java.io.File;import java.io.IOException;public class FileDemo {//java.io.File类用于表示文件(目录),不能用于文件内容的访问 public static void main(String[] args) throws IOException {
2016-04-10 18:12:35 3580
原创 编码学习
package practice.encode;import java.io.UnsupportedEncodingException;public class EncodeDemo { public static void main(String[] args) throws UnsupportedEncodingException { String s="心情ABC"; b
2016-04-10 14:53:20 313
原创 int、long、String类型数据与字节数组转换
package practice.converttobytes;public class ConvertToBytes { //int型转换为byte[] public static byte[] int2Bytes(int a){ byte[] arr=new byte[4]; for(int i=0;i<arr.length;i++){ arr[i]=(byte)((in
2016-04-10 12:11:33 555
原创 简单进制转换
package practice.conversion;public class ConversionExercise { public static void main(String[] args) { //十进制转换为其他进制 System.out.println(Integer.toBinaryString(258));//转换为二进制 System.out.
2016-04-09 23:24:26 317
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人