随笔分类 -  数据结构与算法

摘要:Given a binary search tree (BST) with duplicates, find all the mode(s) (the most frequently occurred element) in the given BST. Assume a BST is define 阅读全文
posted @ 2019-03-21 00:08 爱简单的Paul 阅读(257) 评论(0) 推荐(0)
摘要:Given an integer array nums, find the sum of the elements between indices i and j (i ≤ j), inclusive. The update(i, val) function modifies nums by upd 阅读全文
posted @ 2017-10-24 17:42 爱简单的Paul 阅读(217) 评论(0) 推荐(0)
摘要:二叉树的前序、中序、后序遍历方式,递归与非递归。(层序遍历的方式已经在之前的博客中写过) 递归方式比较简单。 前序遍历: 前序遍历非递归: 基本思路: 利用栈。先输出结点值,再入栈。然后遍历左子树。退栈时,遍历栈顶结点的右子树。 中序遍历非递归: 先进栈,再遍历左子树,出栈时才会输出结点值 后序非递 阅读全文
posted @ 2017-10-23 19:10 爱简单的Paul 阅读(276) 评论(0) 推荐(0)
摘要:Suppose an array sorted in ascending order is rotated at some pivot unknown to you beforehand. (i.e., 0 1 2 4 5 6 7 might become 4 5 6 7 0 1 2). Find 阅读全文
posted @ 2017-10-18 11:19 爱简单的Paul 阅读(155) 评论(0) 推荐(0)
摘要:全排列的实现-- 递归 中心思想: 设R={r1,r2,…,rn}是要进行排列的n个元素,Ri=R-{ri}. Perm(X)表示在全排列Perm(X)的每一个排列前加上前缀ri得到的排列。 (1)当n=1时,Perm(R)=(r),其中r是集合R中唯一的元素; (2)当n>1时,Perm(R)可由 阅读全文
posted @ 2017-10-08 23:05 爱简单的Paul 阅读(435) 评论(0) 推荐(0)
摘要:先给出一个字典序的定义: 字典排序(lexicographical order)是一种对于随机变量形成序列的排序方法。其方法是,按照字母顺序,或者数字小大顺序,由小到大的形成序列。 比如说有一个随机变量X包含{1 2 3}三个数值。 其字典排序就是{} {1} {1 2} {1 2 3} {2} { 阅读全文
posted @ 2017-10-02 21:20 爱简单的Paul 阅读(8569) 评论(0) 推荐(0)
摘要:参看这篇博客 阅读全文
posted @ 2017-08-14 15:52 爱简单的Paul 阅读(123) 评论(0) 推荐(0)
摘要:输入一颗二叉树和一个整数,打印出二叉树中结点值的和为输入整数的所有路径。路径定义为从树的根结点开始往下一直到叶结点所经过的结点形成一条路径。 本身题目不是很难,但是因为刚接触pyhon,对一些对象的传递不太了解,所以跳了很久也没有通过,后来看到 这篇文章 后才明白,犯了一样的错误 思路就是 : 去考 阅读全文
posted @ 2017-06-19 10:39 爱简单的Paul 阅读(375) 评论(1) 推荐(0)
摘要:输入两棵二叉树A,B,判断B是不是A的子结构。(ps:我们约定空树不是任意一个树的子结构) 递归python版: 阅读全文
posted @ 2017-06-16 09:48 爱简单的Paul 阅读(237) 评论(0) 推荐(0)
摘要:思路还是很明了的,不知道为啥就是过不去了。这是之前写的版本,有问题,后来 又写了一个版本 新版本如下:可以调试过去,思路还是递归去找 左子树 和 右子树。 结果如下: 看了一个别人的 阅读全文
posted @ 2017-05-01 18:00 爱简单的Paul 阅读(219) 评论(0) 推荐(0)
摘要:Given a non negative integer number num. For every numbers i in the range 0 ≤ i ≤ num calculate the number of 1's in their binary representation and r 阅读全文
posted @ 2017-04-30 22:50 爱简单的Paul 阅读(142) 评论(0) 推荐(0)
摘要:1. 整数字符转化为字符串数 阅读全文
posted @ 2017-04-25 10:05 爱简单的Paul 阅读(977) 评论(1) 推荐(0)
摘要:堆排序实现:参考源 归并排序:待更新。。。 阅读全文
posted @ 2017-04-24 10:20 爱简单的Paul 阅读(274) 评论(1) 推荐(0)
摘要:1 #include //实现单链表的建立,测长和打印 2 #include 3 using namespace std; 4 struct node // 定义节点类型,包含一个数据域和一个指针域 5 { 6 int data; 7 node *next; 8 }; 9 node * creat() 10 ... 阅读全文
posted @ 2017-04-18 15:58 爱简单的Paul 阅读(445) 评论(0) 推荐(0)
摘要:转自 每日一道算法题 公众号 树的遍历是一个基础问题,也有很多的实际应用,可以用来找到匹配的字符串、文本分词和文件路径等问题。 数的遍历有两个基本的方法:深度优先遍历 和 广度优先遍历 。 深度优先遍历又根据处理节点的顺序不同,可以分为:中序遍历、前序遍历和后序遍历。这些知识点也是深度优先遍历经常考 阅读全文
posted @ 2017-04-17 10:34 爱简单的Paul 阅读(25876) 评论(0) 推荐(6)
摘要:一辆汽车加满油后可行驶n公里。旅途中有若干个加油站。设计一个有效算法,指出应在哪些加油站停靠加油,使沿途加油次数最少。对于给定的n(n <= 5000)和k(k <= 1000)个加油站位置,编程计算最少加油次数。并证明算法能产生一个最优解。 要求: 输入:第一行有2个正整数n和k,表示汽车加满油后 阅读全文
posted @ 2017-02-22 10:46 爱简单的Paul 阅读(6509) 评论(1) 推荐(0)