3分钟速读原著《Java数据结构与算法》(一)
第一章 综述
1.基本数据结构的优缺点
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 二分查找法
所需次数比较如下图
- 2.2.如果查找的范围是2的幂,那么跟次数的比较刚好是一个对数log2®,如下图
- 2.3 大O表示法
举例说明:汽车按照尺寸可以分为微型,小型,中型等等.在不提及具体尺寸的情况下,这些分类可以为我们所涉及到的车的大小提供了一个大致的概念.我们同样也需要一种快捷的方法来评价计算机算法的效率.在计算机科学当中,这种粗略的度量方式就被称为大O表示法
3.小结
- 3.1 Java中数组是对象,由new操作创建
- 3.2 无序数组可以提供快速的插入,但查找和删除比较慢
- 3.3 将数组封装到类当中可以保护数组不被随意更改
- 3.4 有序数组可以使用二分查找
- 3.5 线性查找需要的时间与数组中数据项的个数成正比
- 3.6 二分查找需要的时间与数组中数据项的个数的对数成正比
- 3.7 大O表示法为比较算法的速度提供了一种方便的方法
3分钟速读原著《Java数据结构与算法》(一)相关推荐
- Jersey——30分钟速读《Java RESTful Web Service 实战》
一.Jersey入门 1.1 REST简述 REST(Representational State Transfer,表述性状态转移),源于REST之父Roy Thomas Fielding博士在20 ...
- java数据结构与算法之顺序表与链表深入分析
转载请注明出处(万分感谢!): http://blog.csdn.net/javazejian/article/details/52953190 出自[zejian的博客] 关联文章: java数据结 ...
- Java数据结构与算法——插入排序
声明:码字不易,转载请注明出处,欢迎文章下方讨论交流. 前言:Java数据结构与算法专题会不定时更新,欢迎各位读者监督.本篇文章介绍排序算法中插入排序算法,包括插入排序的思路,适用场景,性能分析,ja ...
- Java数据结构和算法(六)——前缀、中缀、后缀表达式
前面我们介绍了三种数据结构,第一种数组主要用作数据存储,但是后面的两种栈和队列我们说主要作为程序功能实现的辅助工具,其中在介绍栈时我们知道栈可以用来做单词逆序,匹配关键字符等等,那它还有别的什么功能吗 ...
- java算法概述,Java数据结构与算法基础(一)概述与线性结构
Java数据结构与算法基础(二)递归算法 Java数据结构与算法基础(一)概述与线性结构 学习目的:为了能更顺畅的读很多底层API代码和拓宽解决问题的思路 一.数据结构概述 1.数据结构是什么?数据与 ...
- Java数据结构与算法(二)
Java数据结构与算法(二) 第六章 递归 1 递归应用场景 2 递归的概念 3 递归调用机制 4 递归能解决什么样的问题 5 递归需要遵守的重要规则 6 递归-迷宫问题 6.1 迷宫问题 6.2 代 ...
- java数据结构与算法之双链表设计与实现
转载请注明出处(万分感谢!): http://blog.csdn.net/javazejian/article/details/53047590 出自[zejian的博客] 关联文章: java数据结 ...
- Java 数据结构与算法
目录 Java 数据结构与算法 数据结构 数据结构的定义 数据的逻辑结构 数据的物理结构 数据存储结构 数据结构的分类 线性结构 非线性结构 常用的数据结构 数组(Array) 栈( Stack) 队 ...
- Java数据结构和算法 - 递归
三角数字 Q: 什么是三角数字? A: 据说一群在毕达哥拉斯领导下工作的古希腊的数学家,发现了在数学序列1,3,6,10,15,21,--中有一种奇特的联系.这个数列中的第N项是由第N-1项加N得到的 ...
- Java 数据结构和算法 - 递归
Java 数据结构和算法 - 递归 什么是递归 背景:数学归纳法证明 基本递归 printing numbers in any base 它为什么有效 如何工作 递归太多是危险的 树 数值应用 模幂运 ...
最新文章
- Linux桌面环境与命令行环境切换快捷键,以及linux 图形界面 X Server 关闭 启动
- 用python写一个记账小程序_python实现日常记账本小程序
- ddd架构 无法重构_漫谈分层架构:为什么要进行架构分层?
- mysql 备份库的shell_shell学习之自动备份mysql数据库
- QT串口编程的相关类(QSerialPortInfo)
- Java连接数据库所遇到的坑,连接数据库,遇到一个很奇怪的问题……
- go tcp客户端自动重连_使用 Go 语言创建 WebSocket 服务
- s3c6410_user_manual_rev1.1
- Javascript之旅——第十站:为什么都说闭包难理解呢?
- android隐式广播和显式广播是什么,在Android8.0上突破隐式广播的限制
- 史上最污技术解读,60 个 IT 术语我竟然秒懂了......
- c语言 万年历实验流程图,万年历算法(万年历算法流程图)
- 163企业邮箱 端口服务器,163企业邮箱端口
- Electron那些事10:本地数据库sqlite
- win10内置ubuntu, 启动时提示“指定的网络名不再可用”无法启动解决办法
- python怎么换背景颜色_更换python默认编辑器背景色的操作方法
- ZZULIOJ:1156: 单数变复数
- Xcode直接安装ipa
- latex大斜杠, 除号
- 说唱 -- 再见大四
热门文章
- 低功耗实例——isolation cell及level shifter的选择
- 计算机在材料科学中的应用实,计算机在材料科学与工程中的应用
- 盘点员工工作效率低的8大原因
- Could not instantiate the executor. Make sure a planner module is on the classpath
- java实行图片上写字
- 通过Ruby on Rails中的关系调试Has_Many
- 无线网络 EAP 认证
- 洛谷P1792 [国家集训队]种树 题解
- ACM/IOI 历年国家集训队论文集和论文算法分类整理
- 配置静态路由/下一跳知识