摘要: 优先级队列使用二叉堆实现的 插入元素和删除队列中最大的元素时间复杂度都是O(logn),因为这俩个操作是基于二叉堆的上浮和下沉操作实现的 二叉堆是什么? 二叉堆逻辑结构是完全二叉树,存储结构是数组 二叉堆是怎么存的呢? 如图:数组索引0的位置专门置空 优先级队列的实现 总结 二叉堆就是一种完全二叉树 阅读全文
posted @ 2020-04-22 16:18 程序员小宇 阅读(180) 评论(0) 推荐(0) 编辑
摘要: 俩个栈实现队列的功能,头部删除,尾部添加,是否为空,返回队头 阅读全文
posted @ 2020-04-22 15:31 程序员小宇 阅读(311) 评论(0) 推荐(0) 编辑
摘要: 迭代思想: 先用一个 for 循环找到第 m 个位置,然后再用一个 for 循环将 m 和 n 之间的元素反转。但是我们的递归解法不用一个 for 循环,纯递归实现反转。 迭代实现思路看起来虽然简单,但是细节问题很多的,反而不容易写对。相反,递归实现就很简洁优美,下面就由浅入深,先从反转整个单链表说 阅读全文
posted @ 2020-04-22 13:14 程序员小宇 阅读(589) 评论(0) 推荐(0) 编辑
摘要: 单调栈是什么 单调栈就是一个简单的栈,只不过运用了一些巧妙的逻辑,使得每次元素入栈后都保持这有序递增(或者递减),用来处理一种典型问题Next Greater Element 比如求[2,1,2,4,3]的Next Greater Element,不存在设置 1 结果是:[4,3,4, 1, 1] 阅读全文
posted @ 2020-04-22 11:58 程序员小宇 阅读(194) 评论(0) 推荐(0) 编辑
摘要: Linux进程状态切换 volatile long stage在进程控制块中描述进程状态 在Linux下,一个进程可以有5种不同的状态。 运行状态(TASK_RUNNING): 指正在被CPU运行或者就绪的状态。这样的进程被成为runnning进程。运行态的进程可以分为3种情况:内核运行态、用户运行 阅读全文
posted @ 2020-04-22 10:38 程序员小宇 阅读(1994) 评论(1) 推荐(0) 编辑
摘要: 比较俩个数的大小 从若干数寻找最小值 选择菜单 获取系统时间 当前目录下有几个文件 俩个数比较大小 查找 阅读全文
posted @ 2020-04-22 09:36 程序员小宇 阅读(254) 评论(0) 推荐(0) 编辑
摘要: Shell是什么: Liunx终端命令行,它既是一个命令解释器又是一门程序设计语言 把很多命令按照语法规则写到一个文本文件中就是Shell脚本 如何运行一个shell程序? 入门案例 定义变量 echo是显示变量的值 定义环境变量 相当于高级语言的全局变量,如果子函数也定义了相同的变量,那么子函数访 阅读全文
posted @ 2020-04-22 09:18 程序员小宇 阅读(241) 评论(0) 推荐(0) 编辑