算法题目链接:http://bbs.csdn.net/topics/350093707 题目 // 1.把二元查找树转变成排序的双向链表 // 题目: // 输入一棵二元查找树,将该二元查找树转换成一个排序的双向链表. // 要求不能创建任何新的结点,只调整指针的指向. // // 10 // / \ // 6 14 // / \ / \ // 4 8 12 16 // // 转换成双向链表 // 4=6=8=10=12=14=16. // // 首先我们定义的二元查找树 节点的数据结构如下:…
原文:[转]SQL SERVER 2005中如何获取日期(一个月的最后一日.上个月第一天.最后一天.一年的第一日等等) 在网上找到的一篇文章,相当不错哦O(∩_∩)O~ //C#本周第一天            int dayOfWeek = Convert.ToInt32(DateTime.Now.DayOfWeek);            DateTime today = System.DateTime.Now.AddDays((-1) * (dayOfWeek==0?7:dayOfWee…
代码敲累了.产品要发布了.熬夜啊加班啊. 精神完全不在状态. 咋办--- 咋办--- 咋办---! 来一杯Espresso浓缩咖啡.各位码农,码神们的必备良品! 咖啡每天要2-3杯,不管是速溶还是现磨的.算算这个量,长久喝下来还真不少.喝了那么多,知道什么是好咖啡吗?现在的我肯定是不知道.简单点的判断,就是买稍微好点的咖啡粉或豆.什么是好一点,就是贵点呗. 喝了那么多还不知道咖啡的味道,感觉实在说不过去.为了尝尝啥是好喝的咖啡,准备了段咖啡师之旅. 知识就是用来分享的,在分享中获得快乐. 第一日…
算法导论 第一章 算法     输入--(算法)-->输出   解决的问题     识别DNA(排序,最长公共子序列,) # 确定一部分用法     互联网快速访问索引     电子商务(数值算法and数论)     交通图...(图论,旅行社问题)     拓扑排序 #     第二章  2.1插入排序           #p11 伪代码预定留意一下  #(算法导论 第3版 中文)       循环不变式?         循环 j++         不变 A[1..j-1] 一直有序  …
算法 - 第一章 时间复杂度: Big O 时间/空间复杂度计算一样,都是跟输入数据源的大小有关 n->∞ O(logn) 每次只使用数据源的一半,logn同理 最优解 先满足时间复杂度的情况最优情况下使用最小空间复杂度 例题:子序列交换 题目描述: 输入一个序列,如1234567,在5和6位置处分成两个子序列,12345与67,将两个序列交换输出,如该输出为6712345. 思路讲解: 首先将两个子序列逆序合并 逆序:左右两指针交换元素值直至中间 逆序空间复杂度:O(1) 再将生成的新序列逆序…
题目 // 3.求子数组的最大和 // 题目: // 输入一个整形数组,数组里有正数也有负数. // 数组中连续的一个或多个整数组成一个子数组,每个子数组都有一个和. // 求所有子数组的和的最大值.要求时间复杂度为O(n). // // 例如输入的数组为1, -2, 3, 10, -4, 7, 2, -5,和最大的子数组为3, 10, -4, 7, 2, // 因此输出为该子数组的和18. 分析 还是递归的思路. 代码 int GetMaxSubSum(int* pArr, int lengt…
http://www.cnblogs.com/yangecnu/p/Introduce-Binary-Search-Tree.html 前文介绍了符号表的两种实现,无序链表和有序数组,无序链表在插入的时候具有较高的灵活性,而有序数组在查找时具有较高的效率,本文介绍的二叉查找树(Binary Search Tree,BST)这一数据结构综合了以上两种数据结构的优点. 二叉查找树具有很高的灵活性,对其优化可以生成平衡二叉树,红黑树等高效的查找和插入数据结构,后文会一一介绍. 一 定义 二叉查找树(B…
本文目前分享的题目都是来自于July的分享,然后把具体算法实现.搜索树转双向链表主要的实现逻辑是在中序遍历时,调整节点的左右子树:因为中序遍历是递归调用,所以在调整时一定要注意调整的位置,如果写错了,很有可能造成死循环.避免的主要办法是在读完左子树时调整左节点,遍历完右子树时调整右节点,具体代码见trans函数.算法的时间复杂度是o(logn).      输入树构建完成后是: 代码如下: # -*- coding: utf-8 -*- """ 题目:输入一棵二叉搜索树(记住…
在网上找到的一篇文章,相当不错哦O(∩_∩)O~ //C#本周第一天            int dayOfWeek = Convert.ToInt32(DateTime.Now.DayOfWeek);            DateTime today = System.DateTime.Now.AddDays((-1) * (dayOfWeek==0?7:dayOfWeek) + 1); 这是计算一个月第一天的SQL 脚本: SELECT DATEADD(mm, DATEDIFF(mm,0…
sdut 2140 图结构练习——判断给定图是否存在合法拓扑序列 Time Limit: 1000ms   Memory limit: 65536K  有疑问?点这里^_^ 题目描述  给定一个有向图,判断该有向图是否存在一个合法的拓扑序列. 输入  输入包含多组,每组格式如下. 第一行包含两个整数n,m,分别代表该有向图的顶点数和边数.(n<=10) 后面m行每行两个整数a b,表示从a到b有一条有向边.   输出  若给定有向图存在合法拓扑序列,则输出YES:否则输出NO.   示例输入 1…