随笔 - 229  文章 - 0  评论 - 10  阅读 - 26万 

随笔分类 -  数据结构与算法

红黑树代码实现
摘要:// 这里JDK中TreeMap红黑树自平衡的代码 private void fixAfterInsertion(TreeMap.Entry<K, V> x) { // 新增节点,直接置为RED x.color = RED; // 父节点是红色 while (x != null && x != ro 阅读全文
posted @ 2020-01-05 23:28 显示账号 阅读(288) 评论(0) 推荐(0) 编辑
单链表之升级版按节点序号添加
摘要:该示例的代码是在前一篇的基础上进行修改的. public class SingleLinkedListDemo { public static void main(String[] args) { //先创建几个节点 Node node1 = new Node(1, "老子", "太上老君"); N 阅读全文
posted @ 2020-01-02 23:23 显示账号 阅读(314) 评论(0) 推荐(0) 编辑
单链表之简单版
摘要:下面是个单链表,且无序的实现代码. 需要注意的是有个head节点, 该节点不存储数据,只是表示链表的头节点. public class SingleLinkedListDemo { public static void main(String[] args) { //先创建几个节点 Node nod 阅读全文
posted @ 2020-01-02 22:59 显示账号 阅读(221) 评论(0) 推荐(0) 编辑
冒泡排序
摘要:冒泡排序的中心思想就是通过遍历找出数组中最小的数往前排. import java.util.Arrays; /** * 冒泡排序 * 该排序算法的核心就是循环遍历,两两比较,找出较小的那个数往前排 */ public class BubbleSort { public static void mai 阅读全文
posted @ 2020-01-02 22:08 显示账号 阅读(261) 评论(0) 推荐(0) 编辑
队列篇之使用环型数组模拟一个队列
摘要:在上一篇随笔中使用数据模拟了一个队列,但是有缺陷, 数组只能使用一次,原因是index指针一直往上++, 不能回到数组之前的位置. ArrayBlockingQueue源码给出了一种实现方案, 它是在判断队列(数组)满了之后,直接将putIndex重置为0, 这样offer元素到队列时,又可以利用数 阅读全文
posted @ 2020-01-01 23:50 显示账号 阅读(223) 评论(0) 推荐(0) 编辑
队列篇之使用数组模拟一个队列
摘要:队列是一个有序列表, 可以使用数组实现, 也可以使用链表实现 队列遵守先进先出的原则 1. 下面使用数组模拟一个队列 public class ArrayQueueDemo { public static void main(String[] args) { ArrayQueue queue = n 阅读全文
posted @ 2020-01-01 00:39 显示账号 阅读(640) 评论(0) 推荐(0) 编辑
红黑树
摘要:常见算法与数据结构暴力:二分: 前提,有序 , 时间复杂度O(lgn) > 转换成数据结构: 二叉树(二叉查找树,二叉搜索, 二叉有序树)哈希: 最高效 , O(1), hash冲突 , jdk1.8 hashmap中的数据结构: 链表+红黑树(处理hash冲突的)插值索引: 搜索引擎 ,Lucen 阅读全文
posted @ 2019-12-28 23:53 显示账号 阅读(196) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示