zoukankan      html  css  js  c++  java
  • Java数据结构

    1、Java语言的数据类型

    1)基本数据类型:四种整形类型、两种浮点类型、一种字符类型和一种布尔类型

    在Java语言中仍然采用类定义数据对象,并将对数据对象的关系的存储描述与数据对象的操作封装到类的定义中,主要不同的是使用引用类型代替指针类型,使得数据的描述中没有了与地址相关的运算*和&,更易于对数据结构的理解。

    2)引用数据类型:

    2、算法的描述

    1)概念:

    算法是对特定问题求解步骤的一种描述,是指令的有限序列。

    2)时间复杂度:

    ①一个特定算法的运行工作量的大小依赖于问题的规模(通常用正整数n表示),或者说它是问题规模的函数。

    ②一个算法执行所耗费的时间T(n),是算法中所有语句执行时间之和,而每条语句的执行时间是该语句执行一次所用时间与该语句重复执行次数的乘机。

    ③当问题的规模较大时,T(n)表达式中有些项占主导地位,其它项可忽略不计。在实际应用中,往往放弃复杂的函数来表示确切的时间复杂度,而采用一些简单的函数来近似表示时间性能,这就是时间渐进复杂度O(n),简称时间复杂度。

    ④通常用O(1)表示常数计算时间,常见的渐进时间复杂度按数量级递增排列为:

    O(1)<O(logn)<O(n)<O(nlogn)<O(n^2)<O(n^3)<O(2^n)

    ⑤一个算法是由控制结构和基本语句构成的,其执行时间取决于两者的综合效果。为了便于比较同一问题的不同的算法,通常的做法是:

    从算法中选取一种对于所研究的问题来说是基本运算的语句,以该基本语句重复执行的次数作为算法的时间度量。基本运算一般应该选取频度最大的语句,如最深层循环体内的语句,例如冒泡排序算法中交换相邻两个元素的语句、矩阵相乘时的乘法语句等等。

    3)空间复杂度:是指算法运行从开始到结束所需的存储量。

    算法运行所需的存储空间包括以下两部分:

    ①固定部分:与所处理数据的大小和个数无关,主要包括程序代码、常量、简单变量、定长成分的结构变量所占的空间。

    ②可变部分:与算法在某次执行中处理的特定数据的大小和规模有关。

  • 相关阅读:
    Server基本语句的用法
    C#本地文件下载以及FTP文件服务下载(以Pdf文件为例)
    一步一步理解AdaBoosting(Adaptive Boosting)算法
    Ubus简单理解
    基于SSL的select编程Linux系统
    SSL协议理解
    802.11r协议理解
    基于MQTT协议的云端proxy远程登陆
    基于mosquitto的MQTT客户端实现C语言
    模拟telnet协议C语言客户端程序
  • 原文地址:https://www.cnblogs.com/GjqDream/p/11679087.html
Copyright © 2011-2022 走看看