首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
学习笔记
康小庄
创建于2021-05-24
订阅专栏
记录康小庄的学习笔记
等 1 人订阅
共17篇文章
创建于2021-05-24
订阅专栏
默认顺序
默认顺序
最早发布
最新发布
Java数据结构——红黑树
3. 红黑树 红黑树也是一种自平衡的二叉搜索树,较之 AVL,插入和删除时旋转次数更少 红黑树特性 所有节点都有两种颜色:红与黑 所有 null 视为黑色 红色节点不能相邻 根节点是黑色 从根到任意一
Java数据结构——AVL树
2. AVL 树 前面介绍过,如果一棵二叉搜索树长的不平衡,那么查询的效率会受到影响,如下图 通过旋转可以让树重新变得平衡,并且不会改变二叉搜索树的性质(即左边仍然小,右边仍然大) 如何判断失衡? 处
Java数据结构——二叉搜索树
查找算法 不管是之前学过的数组、链表、队列、还是栈,这些线性结构中,如果想在其中查找一个元素,效率是比较慢的,只有$O(N)$,因此如果你的需求是实现快速查找,那么就需要新的算法设计,也需要新的数据结
Java数据结构——二叉树
2.10 二叉树 二叉树是这么一种树状结构:每个节点最多有两个孩子,左孩子和右孩子 重要的二叉树结构 完全二叉树(complete binary tree)是一种二叉树结构,除最后一层以外,每一层都必
Java数据结构——堆
2.9 堆 以大顶堆为例,相对于之前的优先级队列,增加了堆化等方法 建堆 Floyd 建堆算法作者(也是之前龟兔赛跑判环作者): 找到最后一个非叶子节点 从后向前,对每个节点执行下潜 一些规律 一棵满
Java数据结构——阻塞队列
--- theme: smartblue --- ## 2.8 阻塞队列 之前的队列在很多场景下都不能很好地工作,例如 1. 大部分场景要求分离向队列放入(生产者)、从队列拿出(消费者)两个角色、它们
Java数据结构——优先队列
2.7 优先级队列 无序数组实现 要点 入队保持顺序 出队前找到优先级最高的出队,相当于一次选择排序 视频中忘记了 help GC,注意一下 有序数组实现 要点 入队后排好序,优先级最高的排列在尾部
Java数据结构——双端队列
2.6 双端队列 概述 双端队列、队列、栈对比 定义 特点 队列 一端删除(头)另一端添加(尾) First In First Out 栈 一端删除和添加(顶) Last In First Out 双
Java数据结构——栈
2.5 栈 概述 计算机科学中,stack 是一种线性的数据结构,只能在其一端添加数据和移除数据。习惯来说,这一端称之为栈顶,另一端不能操作数据的称之为栈底,就如同生活中的一摞书 先提供一个栈接口 链
Java数据结构——队列
2.4 队列 概述 计算机科学中,queue 是以顺序的方式维护的一组数据集合,在一端添加数据,从另一端移除数据。习惯来说,添加的一端称为尾,移除的一端称为头,就如同生活中的排队买商品 先定义一个简化
Java数据结构——递归
2.3 递归 概述 定义 计算机科学中,递归是一种解决计算问题的方法,其中解决方案取决于同一类问题的更小子集 比如单链表递归遍历的例子: 说明: 自己调用自己,如果说每个函数对应着一种解决方案,自己调
Java数据结构——链表
2.2 链表 概述 定义 在计算机科学中,链表是数据元素的线性集合,其每个元素都指向下一个元素,元素存储上并不连续 可以分类为[^5] 单向链表,每个元素只知道其下一个元素是谁 双向链表,每个元素知道
Java数据结构——数组
二. 基础数据结构 2.1 数组 概述 定义 在计算机科学中,数组是由一组元素(值或变量)组成的数据结构,每个元素有至少一个索引或键来标识 因为数组内的元素是连续存储的,所以数组中元素的地址,可以通过
Java数据结构——初识算法
一. 初识算法 1.1 什么是算法? 定义 在数学和计算机科学领域,算法是一系列有限的严谨指令,通常用于解决一类特定问题或执行计算 Introduction to Algorithm[^2] 不正式的
Git常用命令速查表
$ git clone <url> #克隆远程版本 $ git init #初始化本地版本库 $ git config --global user.name 用户名 #设置用户名 $ git c
Cookie和Session知识点总结
Cookie Cookie概念(来源百度百科) cookie(储存在用户本地终端上的数据)百度百科 为什么使用Cookie? HTTP Cookie(也叫Web Cookie或浏览器Cookie)是服
Git学习笔记
Git学习笔记 学习途径https://oschina.gitee.io/learn-git-branching/ 1.Git 常用命令 2.添加与提交 3.推送改动 4.分支 5.更新与合并 6.标