数据结构
一次编写 到处调试
hello world
展开
-
目录树结构
一、需求 要求做一个目录树, 1.可以动态增加、删除子目录; 2.每个级别可以调整自己级别的标签的顺序 3.删除某一标签,则自动删除它的所有子标签 二、设计数据库表 CREATE TABLE `mark_category` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键ID', `categor...原创 2018-08-09 15:06:48 · 4404 阅读 · 0 评论 -
用Java实现一个简单的阻塞队列LinkedBlockingQueue
package mytest.others.other; import java.util.ArrayList; import java.util.List; import java.util.concurrent.atomic.AtomicInteger; import java.util.concurrent.locks.Condition; import java.util.concur...原创 2019-02-18 15:00:02 · 436 阅读 · 0 评论 -
二叉树遍历:前序、中序、后序
1 二叉树三种遍历的递归、非递归实现 首先定义一棵二叉树的结构: /** * @Description 二叉树 * @Author lilong * @Date 2019-02-27 10:23 */ public class BinTreeNode { private int data; private BinTreeNode left; privat...原创 2019-02-27 20:45:39 · 154 阅读 · 0 评论 -
排序算法的Java实现
冒泡排序 选择排序 插入排序 快速排序 归并排序 堆排序 时间复杂度参考: https://blog.csdn.net/weiwenhp/article/details/8622728 排序方法 平均时间 最好时间 最坏时间 桶排序(不稳定) O(n) O(n) O(n) 基数排序(稳定) O(n) O(n) O(n) ...原创 2019-02-27 18:55:26 · 94 阅读 · 0 评论 -
Java实现堆排序
一、基本原理 1.数据保存策略 使用数组保存二叉堆的数据,数组中树的层级关系为: 1)下标为i的节点的父节点的下标是(i - 1) / 2 2)下标为i的节点的左子节点的下标是:2 * i + 1,右子节点是:2 * i + 2。 2.堆排序过程: 步骤1:新建一个数组 步骤2:使用这个数组建堆(自底向上下沉堆化) 步骤3:堆排序(循环替换末尾节点和root并下沉堆化root...原创 2019-03-02 02:10:45 · 123 阅读 · 0 评论