
java数据结构
Jason_LH1024
加油!加油!
展开
-
最好,最坏和平均时间复杂度
在查找成功的情况下,若待查找的数据元素恰好是数组的第一个元素,则只需比较一次即可找到,这就是最好情况,T(n)=O(1),称最好时间复杂度。若是最后一个元素,则要比较n次才能找到。T(n)=O(n),称最坏时间复杂度。在查找不成功的情况下,无论何时进行不成功的查找都需要进行n次比较,T(n)=O(n)。成功查找是的平均次数:(n+1)/2,T(n)=O(n)。 称平均时间复杂度。一般取最坏或...翻译 2019-02-21 23:45:27 · 7638 阅读 · 0 评论 -
java数据结构——抽象数据类型
数据得抽象是用抽象数据类型来实现的,ADT是这个集合和定义在这集合上的一组数据操作,它不包括计算机数据存储:隐藏了数据存储结构并且不涉及实现结构的数据类型。java中抽象数据类型的描述:1.抽象类(abstraction class),抽象类型的实现用继承该抽象类的子类表示, 2.接口(interface) ...原创 2019-02-18 12:24:51 · 4393 阅读 · 1 评论 -
算法的设计与分析
1.算法的五个性质:有穷性,确定性,有效性,输入,输出。需要达到的目标:正确性,可读性,健壮性,高效性。注:伪代码用一种类似于程序设计语言的语言描述。。。。。。求数组a中的最大值算法 public class 最大 { public static int maxEle(int[] a) { int n=a.length; int max=a[0]; ...原创 2019-02-19 22:29:05 · 183 阅读 · 0 评论 -
时间空间复杂度分析
空间复杂度作为算法所需存储空间的量度。S(n)=O(f(n))。程序运行所需的存储空间包括两部分:1.固定空间需求:这部分空间大小与所处理的规模无关,主要包括算法本身的程序带代码、常量、变量所占的空间。2.可变空间需求:与处理的规模有关,主要包括输入的元素所占的存储空间和运行程序过程中需要的额外空间,例如:临时工作单元和运行递归算法是的栈空间。算法设计举例:给定一个整数序列A1,A2...原创 2019-02-25 22:36:56 · 313 阅读 · 0 评论 -
算法分析--时间复杂度
算法的时间复杂度:T(n)=O(f(n))当且仅当存在正常数c和N,对所有的n(n>=N),满足0<=T(n)<=c X f(n)函数f(n)是函数T(n)取值的上限,随问题规模n的增长,算法执行时间的增长率和f(n)的增长率是相同的。算法的执行时间=指令序列的执行次数 X 指令序列的执行时间对于如下两个n阶矩阵相乘的算法,求其时间复杂度。public class 时间...原创 2019-02-21 00:03:03 · 415 阅读 · 0 评论 -
java中的泛型方法
泛型编程是通过使用继承的一些基本概念来完成的,这会学习的是java中使用继承的基本原则来实现泛型方法的。两个数的置换。public static void swap(Object a,Object b){ Object temp = a; a = b; b = temp; }java中的基本思想是通过使用像Object这样适当的超类来实现泛...原创 2019-03-16 18:59:39 · 392 阅读 · 0 评论 -
第二章 数据结构中线性表的学习
线性表是一种最常用、最简单,也是最基本的数据结构,它是学习其他数据结构的基础。有顺序存储和链式存储两种存储结构来表示。顺序储存结构表示的线性表称为顺序表,用链式存储结构表示的线性表成为链表。链表又有单链表、双向链表、循环链表。。线性表是 n 个数据元素所构成的有限序列,通常表示为(a0,a1,...,a i,a n-1 )。其中下标为i的标识元素在线性表中的位序号,n 为表长,...原创 2019-03-20 21:46:27 · 270 阅读 · 0 评论 -
数据结构一章总结
运用计算机求解现实世界的问题,最关键是考虑处理对象在计算机中的表示的表示,处理方法和效率 。数据结构涉及:数据的逻辑结构 ,存储结构及数据的操作 3 个方面。数据结构其实是具体问题抽象出来的数学模型,反映事物组成结构和组成结构中数据元素之间的逻辑关系。根据元素之间的逻辑关系的特性来区分: 集合、线性结构、树形结构和图形结构四大类。。数据的存储结构是各种...原创 2019-03-17 19:54:01 · 168 阅读 · 0 评论