3分钟速读原著《Java数据结构与算法》(一)

第一章 综述

1.基本数据结构的优缺点

3分钟速读原著《Java数据结构与算法》(一)

3分钟速读原著《Java数据结构与算法》(一)

2.Java和C++的基本区别

  • 2.1 Java中没有指针的概念

  • 2.2.本质上Java中的存储地址就是相当于C++当中的指针的概念==>可以说Java中的一切引用类型都类似于C++当中的指针的概念

3.小结

  • 3.1.数据结构是指针数据在计算机内存空间中或磁盘当中的组织形式

  • 3.2.正确的选择数据结构会使得程序的效率大大提高

  • 3.3.算法是完成特定任务的过程

  • 3.4.在java中,算法经常通过类的方法来实现的

  • 3.5.数据库是指由许多类似记录组成的数据存储的集合额

第二章 数组

1. 无序数组

  • 有索引时直接根据索引查找

  • 无索引时根据值查找,使用线性查找

2. 有序数组

  • 2.1 二分查找法

所需次数比较如下图
3分钟速读原著《Java数据结构与算法》(一)

  • 2.2.如果查找的范围是2的幂,那么跟次数的比较刚好是一个对数log2®,如下图

3分钟速读原著《Java数据结构与算法》(一)

  • 2.3 大O表示法

举例说明:汽车按照尺寸可以分为微型,小型,中型等等.在不提及具体尺寸的情况下,这些分类可以为我们所涉及到的车的大小提供了一个大致的概念.我们同样也需要一种快捷的方法来评价计算机算法的效率.在计算机科学当中,这种粗略的度量方式就被称为大O表示法

3.小结

  • 3.1 Java中数组是对象,由new操作创建
  • 3.2 无序数组可以提供快速的插入,但查找和删除比较慢
  • 3.3 将数组封装到类当中可以保护数组不被随意更改
  • 3.4 有序数组可以使用二分查找
  • 3.5 线性查找需要的时间与数组中数据项的个数成正比
  • 3.6 二分查找需要的时间与数组中数据项的个数的对数成正比
  • 3.7 大O表示法为比较算法的速度提供了一种方便的方法