排序分割 代码(C)本文地址: http://blog.csdn.net/caroline_wendy排序分割, 把一个数组分为, 大于k\小于k\等于k的三个部分.可以使用快速排序的Partition函数, 进行处理, 把大于k的放在左边, 小于k的放在右边.使用一个变量记录中间的位置, 则时间复杂度为O(3n/2).代码:/*
* main.cpp
*
* Created on: 20...
分类:
其他好文 时间:
2014-09-18 22:23:04
阅读次数:
312
有序双循环链表的插入 代码(C)本文地址: http://blog.csdn.net/caroline_wendy有序双循环链表的插入, 需要找到插入位置, 可以采用, 两个指针, 一个在前, 一个在后.保证前面的小于等于插入值, 后面的大于等于插入值.特殊情况, 首尾插入(大于或小于整个链表)或单节点, 判断条件为后指针指向首节点. 则需要直接插入.插入链表头, 需要调整链表头节点.代码22行....
分类:
其他好文 时间:
2014-09-18 22:19:14
阅读次数:
217
二叉树的最低公共祖先 代码(C)本文地址: http://blog.csdn.net/caroline_wendy二叉树的最低公共祖先(lowerest common ancestor), 首先先序遍历找到两个结点的路径, 然后根据链表路径找到最低的公共祖先.代码:/*
* main.cpp
*
* Created on: 2014.6.12
* Author: Spike...
分类:
其他好文 时间:
2014-09-18 16:36:04
阅读次数:
162
算法一:快速排序算法快速排序是由东尼·霍尔所发展的一种排序算法。在平均状况下,排序n个项目要Ο(nlogn)次比较。在最坏状况下则需要Ο(n2)次比较,但这种状况并不常见。事实上,快速排序通常明显比其他Ο(nlogn)算法更快,因为它的内部循环(innerloop)可以在大部分的架构上很有效率地被实...
分类:
其他好文 时间:
2014-09-18 11:04:53
阅读次数:
225
不是有人说过世界上有两种人,一种是程序员,一种不是。而且越来越多的人发现用编程的思想能够更好,更高效的完成任务。IT行业的发展使得程序员趋于量产,层出不穷,而互联网行业也是紧随着开展了一系列的程序员大赛。
编程算法
这类比赛真正的考量一个程序员的编程思想。基本的比赛方式类似于考试,由计算机老学究们提出几个问题,程序员们解答,从解答时间和算法优劣来得出比赛结果。就比如TopCoder大赛,09年...
分类:
其他好文 时间:
2014-09-17 15:15:13
阅读次数:
212
旋转矩阵 代码(C)本文地址: http://blog.csdn.net/caroline_wendy输出旋转矩阵, 使矩阵是按对角线螺旋上升, 在输出规则确定以后, 就可以判断, 上升规律是, 行列相加为定值.所以采用两次循环的方法, 并且上下矩阵, 分开输出.如: 1 2 6 7 15
3 5 8 14 16
4 9 13 17 22
10 1...
分类:
其他好文 时间:
2014-09-17 12:13:02
阅读次数:
210
赛马问题本文地址: http://blog.csdn.net/caroline_wendy赛马问题, 有25匹马, 选择其中3匹最快的, 其中5匹比赛一次. 如何选择?解法:类似K路归并排序, 分为5组进行比赛, 选出5个第一名, 然后进行比赛, 确定一个, 并把第一名取走, 再从第一名的队列中, 选择第二名, 放入其中, 进行比赛.依次类推, 选择最优的3匹马.共需要8次比较, 5次初选, 3次...
分类:
其他好文 时间:
2014-09-16 19:04:40
阅读次数:
204
链表逆序 代码(C)本文地址: http://blog.csdn.net/caroline_wendy链表逆序, 作为链表操作的基础必须要熟练手写.主要包含3个部分, 一个指针记录后面节点, 一个指针记录前面节点, 把当前节点指到前面节点, 移动到后面节点, 前后指针依次移动.非递归链表逆序算法的核心代码只有10行.代码:/*
* main.cpp
*
* Created on: 2014...
分类:
其他好文 时间:
2014-09-16 12:44:10
阅读次数:
166
题目地址:HDU 1850
这个博弈论异或这个地方感觉真绕,仔细想了一下,终于把它给理清楚了。总结一下之前不太理解的:
1:在当前操作中,只要可以达到某个必败态,那这个点一定是必胜态的,因为要想获胜,肯定会选择必败态的操作。
2:只有当所有值的异或值为0的时候,才是必败态,所以说对于N堆的nim游戏来说,第一步的操作对于每一堆来说只能有至多一种可以形成必败态。因为另外(n-1)堆的异或值是唯...
分类:
编程语言 时间:
2014-09-15 15:57:09
阅读次数:
187
将排序数组按绝对值大小排序 代码(C)本文地址: http://blog.csdn.net/caroline_wendy排序的数组有可能包含正负, 可以使用折半查找确定中值位置, 然后再使用两个指针, 顺次排序两端.解决思路是: 1.数组中的元素全为正,返回; 2.数组中的元素全为负,返回; 3.数组中有正数有负数,就用二分法查找,判断中间元素的符号 a)中间元素为正...
分类:
其他好文 时间:
2014-09-14 22:12:02
阅读次数:
524