博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
java数据结构和算法----第二章
阅读量:6415 次
发布时间:2019-06-23

本文共 920 字,大约阅读时间需要 3 分钟。

创建数组

java中有两种数据类型,基本数据类型(int,double)和对象数据类型,在java中,数组是对象类型,所以在创建数组时必须使用new操作符

数组有一个length字段,通过它可以得知当前数组的大小。

int arrayLength=intArray.length;一旦创建数组,数组大小便不可以改变。

用来存储数据对象的类,被称为容器类。通常容器类不仅存储数据,并且提高访问数据的方法和其他诸如排序等的操作。

类接口

类之间责任的分配,是面向对象编程的一个重要任务。类的用户是通过类接口的方式与类相连,由于类的字段经常是私有的,所以类的接口一般指的是类的方法。

Ordered专题Applelet

为什么要将数组排序呢,因为可以通过二分查找显著地提高查找速度。

二分查找

二分查找就类似于玩游戏时,我们的猜数字游戏,查找速度会提高很多。

二分查找的代码如下所示:

int find(int a[])

{

    int lowerBound=0;

    int upperBound=a.length-1;

    int cur;

    while(true)

        {

            cur=(lowerBound+upperBound)/2;

            if(searchKey==a[cur])

               return cur;

           else{

                  if(searchKey>a[cur])

                  lowerBound=cur+1;

                  else

                 upperBound=cur-1;

            }

        }

}

总结:

有序数组在实现数据的相关操作时比较简单,但是插入和删除都比较麻烦,因为涉及到填补空位问题、所以在涉及到插入和删除频繁操作时,不应该用数组作为存储。

对数:用来计算二分查找需要的次数。

大O表示法:

为了衡量一个算法的执行时间和处理的数据项的个数之间的关系,提出了该表示法。注意在大O表示法中,不能出现常数。

无序数组的插入:是一个常数K

线性查找与N成正比

二分查找:与log(N)成正比

该表示法你并没有真正给出算法的运行的实际时间,而只是给出了一个算法的运行时间如何受数据项个数的影响。

 

转载于:https://www.cnblogs.com/maowuyu-xb/p/6429194.html

你可能感兴趣的文章
[官方教程] [ES4封装教程]1.使用 VMware Player 创建适合封装的虚拟机
查看>>
http协议与http代理
查看>>
【iOS开发-91】GCD的同步异步串行并行、NSOperation和NSOperationQueue一级用dispatch_once实现单例...
查看>>
Redis+Spring缓存实例
查看>>
Storm集群安装详解
查看>>
centos7.x搭建svn server
查看>>
原码编译安装openssh6.7p1
查看>>
项目实战:自定义监控项--监控CPU信息
查看>>
easyui-datetimebox设置默认时分秒00:00:00
查看>>
蚂蚁分类信息系统5.8多城市UTF8开源优化版
查看>>
在django1.2+python2.7环境中使用send_mail发送邮件
查看>>
“Metro”,移动设备视觉语言的新新人类
查看>>
PHP源代码下载(本代码供初学者使用)
查看>>
Disruptor-NET和内存栅栏
查看>>
Windows平台ipod touch/iphone等共享笔记本无线上网设置大全
查看>>
播放加密DVD
查看>>
产品设计体会(3013)项目的“敏捷沟通”实践
查看>>
RHEL6.3基本网络配置(1)ifconfig命令
查看>>
网络诊断工具之—路由追踪tracert命令
查看>>
Java模拟HTTP的Get和Post请求(增强)
查看>>