摘要:
查找与二叉树 我家园子有几棵树系列 查找与二叉树 我家园子有几棵树系列 Preface 查找 二叉查找树的实现 定义数据结构 中序遍历 查找操作 插入 删除 删除最小值 复制(拷贝)删除 步骤 Rank 2-3查找树 总结 Preface 前面我们学习了基于线性表的数据结构,如数组,链表,队列,栈等 阅读全文
摘要:
从浏览器到栈 从浏览器到栈 栈是什么? 如何实现一个栈? 栈的应用 表达式 括号匹配 浏览器 补充 栈是什么? 说到栈我们总是先想到 FILO(first in last out), 有没有什么更贴切一点的例子呢? 有了,洗盘子其实和栈很像,我们总是从盘子的顶部拿起盘子,第一个放的盘子是最后一个拿出 阅读全文
摘要:
链表 链表 [TOC] 一、什么是链表? 1. 和数组一样,链表也是一种线性表。 2. 从内存结构来看,链表的内存结构是不连续的内存空间,是将一组零散的内存块串联起来,从而进行数据存储的数据结构。 3. 链表中的每一个内存块被称为节点Node。节点除了存储数据外,还需记录链上下一个节点的地址,即后继 阅读全文
摘要:
从小问题看懂链表 [TOC] 前言 放暑假了,笔者趁这这段时间梳理一遍数据结构,今天我们先看一看基本的数据结构 链表。相对来说,我更喜欢从实际问题去理解 这种抽象的概念。music,让我们开始吧! 第一问 回文字符串 请判断一个链表是否为回文链表。 示例 1: 输入: 1 2 输出: false 示 阅读全文
摘要:
类与对象 Java入门 当大一萌新遇上Java系列——浅谈Java中的类与对象 "Mikejiawei" 笔者是一名大一新生,虽久闻Java大名,却不识庐山真面目,最近才开始接触Java这门语言。 Java作为一种流行的语言,自有其可取之处,毕竟它有可以跨平台运行的优点,被众多厂商支持,以及拥有众多 阅读全文
摘要:
十大排序算法 十大排序算法 简单的排序算法 插入排序 冒泡排序 选择排序 高效的比较排序算法 希尔排序 快速排序 归并排序 堆排序 牺牲空间的线性排序算法 计数排序 桶排序 基数排序 综合分析 简单的排序算法 Θ(n^2) 插入排序 动画演示 enter description here 原理 将数 阅读全文
摘要:
排序一 Q: 为什么插入排序比冒泡排序更受欢迎? 经典的排序算法 | 排序算法 | 时间复杂度 | 是否基于比较 | | : | | | | 冒泡、插入、选择 | O(n^2) | Y | | 快排、归并 | O(n logn) | Y | | 桶、计数、基数 | O(n) | N | 如何分析一个 阅读全文
摘要:
数组 数组 数组 引文:数组看起来简单基础,但是很多人没有理解这个数据结构的精髓。带着为什么数组要从0开始编号,而不是从1开始的问题,进入主题。 数组如何实现随机访问 数组是一种线性数据结构,用连续的存储空间存储相同类型的数据 线性表:数组、链表、队列、栈 array1 非线性表: 树、图 arra 阅读全文
摘要:
算法复杂度分析算法 终于放寒假了,松下一口气的博主可以专心地更新博客了,希望寒假能有更大的进步!本系列在于记载我的算法学习笔录,强化学习,废话不多说,开始吧。 什么是复杂度分析?数据结构和算法解决的是“如何让计算机更快时间,更省空间的解决问题”。因此需要从执行时间和占用空间两个维度来评估数据结构和算法的性能。分别用时间复杂度和空间复杂度两个概念来描述性能问题,二者统称为复杂度。复杂度描述的是算... 阅读全文
摘要:
数据类型之Integer与int 发表于 2018-11-01 | 分类于 Java 基本数据类型 众所周知,Java是面向对象的语言,一切皆对象。但是为了兼容人类根深蒂固的数据处理习惯,加快常规数据的处理速度,提供了9种基本数据类型,他们都不具备对象的特性,没有属性和行为。Java的9种基本数据类 阅读全文