贵阳市乌当区住房与城乡建设局网站,娃哈哈网络营销策划方案,企业网站建设费,网上电商平台怎么注册一#xff0c;学习数据结构前置知识
目录
一#xff0c;学习数据结构前置知识
二#xff0c;什么是数据结构#xff1f;
1.什么是数据结构#xff1f;
2.容器背后对应的数据结构
3.相关Java知识
4.什么是算法#xff1f;
三#xff0c;什么是集合#xff1f;
…一学习数据结构前置知识
目录
一学习数据结构前置知识
二什么是数据结构
1.什么是数据结构
2.容器背后对应的数据结构
3.相关Java知识
4.什么是算法
三什么是集合
四集合框架的重要性 学习数据结构首先我们需要了解集合与数据结构
二什么是数据结构
1.什么是数据结构
一提及数据结构我们就会想到算法那数据结构和算法有何关系其实这两个玩意是相辅相成的一个好的算法离不开好的数据结构而我们学数据结构的目的就是为了能够体现在算法上能够更好的应用。 面对数据结构这个词我们很容易误以为它是什么比较高大上的玩意儿其实不然我们可以简单理解成数据 结构主要用来描述和组织数据。比如说我们有十万个用户信息那这些信息我们如何去描述和组织起来答案就是使用数据结构这个东西。
例如数组就是一种简单的数据结构数组也是用于描述和组织一组数据
数据结构又有很多种在不同的场景使用不同的数据结构会加快我们程序运行的效率。
总结数据结构(Data Structure)是计算机存储、组织数据的方式指相互之间存在一种或多种特定关系的数据元素的集合。
注意数据结构是一门单独的学科它和语言没有关系博主以后会使用Java来写数据结构理解思想很重要它能锻炼你的逻辑思维。
2.容器背后对应的数据结构 该阶段我们主要学习以下容器每个容器其实都是对某种特定数据结构的封装大概了解一下后序会给大家详细讲解并模拟实现 1. Collection 是一个接口包含了大部分容器常用的一些方法 2. List 是一个接口规范了 ArrayList 和 LinkedList 中要实现的方法 • ArrayList 实现了 List 接口底层为动态类型顺序表 • LinkedList实现了 List 接口底层为双向链表 3. Stack 底层是栈栈是一种特殊的顺序表 4. Queue 底层是队列队列是一种特殊的顺序表 5. Deque 是一个接口 6. Set 集合是一个接口里面放置的是 K 模型 • HashSet底层为哈希桶查询的时间复杂度为 O(1) • TreeSet底层为红黑树查询的时间复杂度为 O(),关于 key 有序的 7. Map 映射里面存储的是 K-V 模型的键值对 • HashMap底层为哈希桶查询时间复杂度为 O(1) • TreeMap底层为红黑树查询的时间复杂度为 O()关于 key 有序 3.相关Java知识 1. 泛型 Generic 2. 自动装箱 autobox 和自动拆箱 autounbox 3. Object 的 equals 方法 4. Comparable 和 Comparator 接口 4.什么是算法 算法(Algorithm):就是定义良好的计算过程他取一个或一组的值为输入并产生出一个或一组值作为输出。简单来说算法就是一系列的计算步骤用来将输入数据转化成输出结果。 三什么是集合
Java会将一些数据结构封装起来满足我们对一些基础数据结构的需求。而如果集合当中不包含需要使用的数据结构时这个时候就得我们自己动手写了。
官方教程 Java 集合框架 Java Collection Framework 又被称为容器 container 是定义在 java.util 包下的一组接口 interfaces和其实现类 classes 。 其主要表现为将多个元素 element 置于一个单元中用于对这些元素进行快速、便捷的存储 store 、检索 retrieve 、管理 manipulate 即平时我们俗称的增删查改 CRUD 。 例如一副扑克牌(一组牌的集合)、一个邮箱(一组邮件的集合)、一个通讯录(一组姓名和电话的映射关系)等等。 类和接口总览 整理一下 四集合框架的重要性 1. 开发中的使用 • 使用成熟的集合框架有助于我们便捷、快速的写出高效、稳定的代码 • 学习背后的数据结构知识有助于我们理解各个集合的优缺点及使用场景 2. 笔试及面试题 腾讯-Java后台开发面经 1. HashMap 了解不介绍一下如果一个对象为 key 时hashCode 和 equals 方法的用法要注意什么 2. HashSet 和 HashMap 的区别是什么 3. HashMap 是线程安全的么那需要线程安全需要用到什么 阿里巴巴-Java后台开发面经 1. ArrayList 和 LinkedList 的区别是什么 2. 有了解过 HashMap 的具体实现么 3. HashMap 和 ConcurrentHashMap 哪个效率更高 今日头条-Java后台开发面经 1. 编程题判断一个链表是否是一个回文链表。 2. Redis 的 zset 类型对应到 java 语言中大致是什么类型 3. hashCode 主要是用来做什么用的 完.