数据结构与算法
文章平均质量分 94
但行益事莫问前程
大数据研发, 开发flink实时流
展开
-
数据结构与算法 4.线性表(顺序表以及ArrayList源码、单向链表 双向链表以及LinkedList源码)
文章目录前言一.1.11.21.3二.2.12.22.3三.3.13.23.3前言前驱元素:若A元素在B元素的前面,则称A为B的前驱元素后继元素:若B元素在A元素的后面,则称B为A的后继元素 线性表是最基本最常用的一种数据结构,一个线性表是n个具有相同特性的数据元素的有限序列;线性表的特征:数据元素之间具有一对一的逻辑关系第一个数据元素没有前驱,这个数据元素被称为头结点;最后一个数据元素没有后继,这个数据元素被称为尾结点;除了第一个和最后一个数据元素外,其他数据元素有且仅有一个前驱和一原创 2022-04-15 11:26:07 · 43787 阅读 · 0 评论 -
数据结构与算法 3.高级排序(希尔排序) 后续补充快速排序
文章目录前言一. 希尔排序1.1 排序原理1.2 希尔排序api设计和代码实现1.3 测试1.4 希尔排序的时间复杂度分析二.2.12.22.3三.3.13.23.3前言冒泡排序,选择排序、插入排序,在最坏情况下的时间复杂度都是O(N^2),随着输入规模的增大,时间成本将急剧上升,所以冒泡排序,选择排序、插入排序不能处理大规模的问题一. 希尔排序1.1 排序原理希尔排序是插入排序的一种,是插入排序算法的一种更高效的改进版本。 1.选定一个增长量h,按照增长量h作为数据分组的依据,对数据进原创 2022-04-14 23:25:44 · 43668 阅读 · 0 评论 -
数据结构与算法 2.比较器(Comparable Comparator),冒泡排序、选择排序、插入排序的排序原理和时间复杂度分析以及代码优化
文章目录前言一. Comparable(在类的设计中使用)1.1 Comparable排序接口1.2 范例1.3 Collections.sort源码分析:二. Comparator(用于类设计已经完成)2.1 Comparator排序接口2.2 范例三. 冒泡排序3.1 排序原理3.2 冒泡排序api设计和代码实现3.3 测试3.4 冒泡排序的时间复杂度分析3.5 冒泡排序优化四. 选择排序4.1 排序原理4.2 选择排序api设计和代码实现4.3 测试4.4 选择排序的时间复杂度分析4.5 选择排序优原创 2022-04-14 08:17:55 · 63347 阅读 · 0 评论 -
单链表 计算有效节点的个数 ,查找倒数第几个节点 ,反转链表
1.定义节点class HeroNode { public int no; public String name; public String nickname; public HeroNode next; public HeroNode(int no, String name, String nickname) { this.no = ...原创 2020-01-13 17:31:38 · 43183 阅读 · 0 评论 -
数据结构与算法 1.算法与数据结构的关系,以及算法时间、空间复杂度的概 念及其度量方法
文章目录一. 数据结构1.1 概念:1.2 数据结构分类(逻辑结构和物理结构两大类)1.2.1 逻辑结构1.2.2 物理结构二. 算法2.1 概念2.2 算法初体验一. 数据结构1.1 概念: 把数据元素按照一定的关系组织起来,用来组织和存储数据1.2 数据结构分类(逻辑结构和物理结构两大类)1.2.1 逻辑结构 从具体问题中抽象出来的模型,是抽象意义上的结构,按照对象中数据元素之间的相互关系分类;a.集合结构(元素之间无关系)b.线性结构(元素之间一对一)c.树形结构(元素之间一原创 2022-04-13 08:19:36 · 43822 阅读 · 0 评论