
java
文章平均质量分 70
程序猿小学僧
这个作者很懒,什么都没留下…
展开
-
数据结构:二叉树及相关算法
二叉树class Tree { Node left; Node right; int value; //递归 public static void f(Tree head) { if(head == null) { reutrn; } f(head.left); f(head.right); } //遍历结果 //1,2,4,4,4,2,5,5,5,2,1,3,6,6,6,3,7,7,7,3,1}遍历先序遍历先序遍历指的是所有子树中先打印头节点、在左节点、最原创 2021-12-25 21:27:00 · 251 阅读 · 0 评论 -
算法学习:堆排序
一、时间复杂度数组:查询 O(1)删除、插入O(n) 原因因为删除插入需要移动后续数组下标、理想情况为 O(1)、如果最后一位则为 O(n)链表查询 O(n)删除、插入O(1) 只需要找到对应位置两次next指针移动即可...原创 2021-12-12 23:56:28 · 205 阅读 · 0 评论 -
java 常见排序总结
几种常见排序总结冒泡排序冒泡排序可以说是所有排序中最简单的排序,它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。/** * 冒泡法排序 * 需要排序的整型数组 */ public static void bubbleSort...原创 2019-02-18 14:42:57 · 300 阅读 · 0 评论 -
java 常见的数据结构
抽象数据类型ADT 是带有一组操作的一些对象的集合。诸如表、集合、图以及与他们各自的操作一起形成的这些对象都可以被看作是抽象数据类型。表、栈、队列表表:表的第一种实现方式:数组来实现。虽然数组是由固定容器创建的,但需要的时候可以用双倍的容量创建一个不同的数组,这样的缺点在于事先要对表的大小进行估计,并且当插入删除的时间开销也非常巨大。表的第二种实现方式:简单链表。为了避免插入和删...原创 2019-02-13 16:22:40 · 235 阅读 · 0 评论 -
java 手写简化版线程池
线程池第一步:设置线程池基本变量 //给定一个初始池大小 private static int workNum = 5; //完成线程池数量 private static volatile int finished_task = 0; private WorkThread[] workThreads; //用于放置线程的池子 private List&...转载 2019-03-01 14:41:45 · 238 阅读 · 0 评论