算法
文章平均质量分 63
OneDay-X
这个作者很懒,什么都没留下…
展开
-
各种排序算法
年代有些久远了,但平时排序算法用得很多,所以汇总一下各排序算法复杂度和稳定性的比较C或c++实现直接插入void insert(int vector[],int n) { // 直接插入算法 int i, j, t; for (i=1; i<n; i++)原创 2016-09-13 20:47:01 · 430 阅读 · 0 评论 -
递归生成格雷码
来自鹅厂的一道编程题,主要是想对比一下递归的复杂度问题,题目描述如下:在一组数的编码中,若任意两个相邻的代码只有一位二进制数不同, 则称这种编码为格雷码(Gray Code),请编写一个函数,使用递归的方法生成N位的格雷码。 给定一个整数n,请返回n位的格雷码,顺序为从0开始。 测试样例: 1 返回:[“0”,”1”]递归的思路比较简单(列举n = 1, n = 2, n = 3也可以比较容原创 2017-03-11 13:32:58 · 1998 阅读 · 0 评论 -
重构二叉树&&判断二叉树的子结构
剑指offer上关于二叉树的两道题,都利用了递归的思想:不断对左右子树进行递归操作。优势在于思路清晰,具体题目如下:重构二叉树题目描述: 输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并返回。理论背景:前序遍历递归顺序原创 2017-03-14 13:55:21 · 575 阅读 · 0 评论 -
删除链表中重复的节点
一道来自剑指offer的编程题,题目描述如下: 在一个排序的链表中,存在重复的结点,请删除该链表中重复的结点,重复的结点不保留,返回链表头指针。 例如,链表1->2->3->3->4->4->5 处理后为 1->2->5思路比较简单,就是从头结点开始遍历链表遇到(p->val == p->next->val)则删除p的下一节点(p->next),但是题目要求重复的节点不能保留,这才原创 2017-03-15 12:32:27 · 1008 阅读 · 0 评论 -
c++实现大数运算
刷上交大的题遇到大数运算的问题(权当记录) 题目描述如下: Today, facing the rapid development of business, SJTU recognizes that more powerful calculator should be studied, developed and appeared in future market shortly. SJTU ...原创 2018-03-08 19:26:03 · 4383 阅读 · 2 评论 -
2的幂次方表示
题目描述 Every positive number can be presented by the exponential form.For example, 137 = 2^7 + 2^3 + 2^0。 Let’s present a^b by the form a(b).Then 137 is presented by 2(7)+2(3)+2(0). Since 7 = 2...原创 2018-03-08 20:39:17 · 5278 阅读 · 0 评论