摘要: 给这题安上“队列”的标签其实是存疑的,因为这个模拟过程我都没有用到队列,而是用到vector。也没有用到先进先出的性质…… 其实这题思路不难,难的是题目的理解。难理解的一共两个点: ①第一行是按索引排列的重量,第二行是按索引排列的序号。结合permutaion(组合)这个单词,大概可以猜到陈越姥姥想 阅读全文
posted @ 2018-03-10 15:42 TQCAI 阅读(227) 评论(0) 推荐(0) 编辑
摘要: 这是一个栈的模拟题,同时“通过出栈序列判断是否合理”这样的考法在考研中经常遇到,也很有可能被命致为考研算法题,这类题的解题方法值得深究。 1、既然是模拟入栈出栈行为,我们就让其不停的入栈,这是一个外循环。 2、如果入栈后超出了栈的规格,就退出循环。 3、在控制非空的条件下,如果栈顶与给定序列相同,那 阅读全文
posted @ 2018-03-10 14:15 TQCAI 阅读(108) 评论(0) 推荐(0) 编辑
摘要: 如果用vector实现,在运行时遍历寻找最小的两个节点,时间复杂度为O(N^2) 但是我们可以用priority_queue优化,达到O(N logN)的时间复杂度 需要注意的是priority_queue的模板type不能存指针。因为指针是64位整数,存的是数据在内存中的地址。但如果直接存Node 阅读全文
posted @ 2018-03-10 13:42 TQCAI 阅读(221) 评论(0) 推荐(0) 编辑
摘要: 第一步:定义结构体 这个结构体和常规的二叉树结构体很相似。但是不同的是多了个属性“h”(height)。用这个属性来记录结点的高度,叶子结点为1,空结点为0 。 第二部:编写BST树的插入函数 第三步:编写高度获取与设置的辅助函数 高度获取: 高度设置: 第四步:编写平衡旋转函数 当左右子树的hei 阅读全文
posted @ 2018-03-10 00:38 TQCAI 阅读(287) 评论(0) 推荐(0) 编辑