数据结构java学习笔记
来源:互联网 发布:js 设置data属性 编辑:程序博客网 时间:2024/06/05 19:22
算法时间复杂度:
简单排序算法示例:
算法思想:在长度为n的数组中寻找最小的数据放到数组开头a[0],然后在剩下的n-1个数据中寻找最小的放到a[1],依次递归。
代码:
package selectSort;import java.util.Random;public class selectSort {public static void main(String[] args){Random random=new Random();int[] a=new int[20];for(int i=0;i<20;i++)a[i]=random.nextInt()%100;for(int e:a)System.out.print(e+" ");System.out.println();Sort(a);for(int e:a)System.out.print(e+" ");System.out.println();}public static void Sort(int[] a){int n=a.length;for(int k=0;k<n-1;k++){int min=k;for(int i=k+1;i<n;i++)if(a[i]<a[min])min=i;if(k!=min){int temp=a[k];a[k]=a[min];a[min]=temp;}}}}
选择排序算法的时间复杂度容易看出,对于长度为n的数组,复杂度为O(2*n^2),
线性表List:
线性表是一种抽象数据
类型;数组是一种具体的数据结构。线性表与数组的逻辑结构是不一样的,线性表是元素之
间具有1对1的线性关系的数据元素的集合,而数组是一组数据元素到数组下标的一一映射。
并且从物理性质来看,数组中相邻的元素是连续地存储在内存中的;线性表只是一个抽象的
数学结构,并不具有具体的物理形式,线性表需要通过其它有具体物理形式的数据结构来实
现。在线性表的具体实现中,表中相邻的元素不一定存储在连续的内存空间中,除非表是用
数组来实现的。对于数组,可以利用其下标在一个操作内随机存取任意位置上的元素;对于
线性表,只能根据当前元素找到其前驱或后继,因此要存取序号为i的元素,一般不能在一
个操作内实现,除非表是用数组实现的。
0 0
- Java数据结构 学习笔记
- 数据结构java学习笔记
- JAVA学习笔记 -- 数据结构
- JAVA学习笔记 -- 数据结构
- Java数据结构学习笔记
- java 数据结构 学习笔记1
- 黑马程序员------java学习笔记之数据结构
- 21天学通Java学习笔记-Day08(数据结构)
- java数据结构学习笔记(一)综述
- java数据结构学习笔记(二)数组
- java学习笔记(二十三)数据结构
- 《数据结构与算法》学习笔记1 java数据结构基本知识
- 数据结构学习笔记
- 数据结构学习笔记(一)
- 数据结构学习笔记--前言
- 数据结构学习笔记--迷宫
- 数据结构学习笔记
- 数据结构学习笔记
- 错误“非静态的字段、方法或属性“System.Web.UI.Page.Response.get”要求对象引用”的解决办法
- CGI问题:500 Internal Server Error
- Tomcat的安装
- SD--关于销售环节的折扣、折让、回扣、佣金的介绍
- java设计模式(行为型)之命令模式
- 数据结构java学习笔记
- 安卓学习笔记4——推送服务初体验
- android.permission.MODIFY_PHONE_STATE权限问题
- C#调用WebService制作天气预报
- 【js学习笔记-098】-------键盘事件
- 基于linux-2.6.35的class_create(),device_create解析
- CI框架(七)codeIgniter.php:系统初始化文件解读
- java内存监测
- Spring MVC