摘要: leetcode 110 题目 思路 由题目中二叉排序树的结构定义中没有高度的成员,所以我们需要自己求出每个子节点的高度,这里我们采用递归思路,并在递归的回溯过程中求每个节点的左右子树的高度,同时也求出高度差,当高度差大于1时,退出返回。 解题代码 /** * Definition for a bi 阅读全文
posted @ 2021-06-25 09:37 ydqun 阅读(776) 评论(0) 推荐(0) 编辑
摘要: ## 排序 ### 排序分类 常见排序可以分为两大类: **比较排序**:通过比较来决定元素间的相对次序,由于其时间复杂度不能突破O(nlogn),因此也称为非线性时间比较类排序。 **非比较类排序**:不通过比较来决定元素间的相对次序,它可以突破基于比较排序的时间下界,以线性时间运行,因此也称为线 阅读全文
posted @ 2021-05-13 16:00 ydqun 阅读(120) 评论(0) 推荐(0) 编辑
摘要: ## 1.堆与优先队列 普通的队列是一种先进先出的数据结构,即元素插入在队尾,而元素删除在队头。而在优先队列中,元素被赋予优先级,当插入元素时,同样是在队尾,但是会根据优先级进行位置调整,优先级越高,调整后的位置越靠近队头;同样的,删除元素也是根据优先级进行,优先级最高的元素(队头)最先被删除。另外 阅读全文
posted @ 2021-05-13 15:51 ydqun 阅读(1084) 评论(0) 推荐(0) 编辑
摘要: 1. 背景 由于二叉排序树存在因插入顺序不合理导致“失衡”而退化成链表问题,于是有科学家提出了通过树高去调整二叉排序树出现“失衡”的情况(其实不止插入会导致“失衡”,删除也会导致“失衡”)。 ps:这里的失衡是指二叉排序树的左右子树高度差的绝对值大于1 2. 重点 1.平衡二叉树,本质上也是二叉排序 阅读全文
posted @ 2021-04-20 15:14 ydqun 阅读(304) 评论(0) 推荐(0) 编辑
摘要: 二叉排序树 什么是二叉排序树、 二叉排序树要么是空二叉树,要么具有如下性质: 二叉排序树中,如果其根结点有左子树,那么左子树上所有结点的值都小于根结点的值; 二叉排序树中,如果其根结点有右子树,那么右子树上所有结点的值都大于根结点的值; 二叉排序树的左右子树也要求都是二叉排序树. 例子 根据以上性质 阅读全文
posted @ 2021-04-19 17:08 ydqun 阅读(397) 评论(0) 推荐(0) 编辑
摘要: 二分专题 二分专题从简到难,主要分为:朴素二分,特殊二分和二分答案,我们从这个难度顺序来介绍二分专题。 朴素二分 朴素二分是我们平时说的二分查找,使用二分查找的条件是查找的数组必须是有序的,例如。 在元素为10个的数组 [1, 3, 7, 9, 11, 23, 45, 67, 100, 108]查找 阅读全文
posted @ 2021-04-12 13:57 ydqun 阅读(108) 评论(0) 推荐(0) 编辑
摘要: 图的概念 图的基础概念 图的结构很简单,就是节点集V和边集E的合并,可表示为G = (V, E); 图的方向 图分为有向图和无向图。 有向图即点和点之间的边是有方向的,该边是有箭头标明方向,如下图 上图中,我们可以举例,有一条边为1->2,若反过来说有一条边2->1则为错误,因为箭头已经标明了方向。 阅读全文
posted @ 2021-03-02 15:05 ydqun 阅读(135) 评论(0) 推荐(0) 编辑
摘要: Linux文件类型及权限 简介 在Linux中,我们可以通过ls -l [path]命令查看文件的基本属性,其中path是可选参数,不指定path会默认以当前目录为查询目录,例如: ydqun@VM-0-9-ubuntu chapter7 % ls -l [0] total 40 -rw-r--r- 阅读全文
posted @ 2021-01-25 22:03 ydqun 阅读(652) 评论(0) 推荐(1) 编辑
摘要: 实现线性筛 prime.sh 输出10000以内的所有素数和。 不代入任何参数 直接输出素数和 使用线性筛 #!/bin/bash # 素数筛 # 定义一个数组,数组里的元素只存放0或1,0表示该下标是素数,1表示该下标是合数 # 用素数去标记合数 num=10000 declare -a arra 阅读全文
posted @ 2021-01-21 18:13 ydqun 阅读(134) 评论(0) 推荐(0) 编辑
摘要: whereis 简介 whereis 命令可以帮助用户寻找某一命令的二进制文件,源码以及帮助页面。 语法格式 whereis [options] [-BMS directory... -f] name... Q&A Q1:如何查找二进制文件所在的位置? 比如,用whereis命令查找whereis自 阅读全文
posted @ 2021-01-20 14:23 ydqun 阅读(103) 评论(0) 推荐(0) 编辑