Josephus问题:设有n个人围坐在一个圆桌周围,现从第s个人开始报数,数到第m的人出列,然后从出列的下一个人重新开始报数,数到第m的人又出列。如此反复直到所有的人全部出列为止。 思路:构建一个没有头结点的循环链表,实现自己的删除函数,数到第几个结点就把这个结点从链表中删除,然后重新数。 ...
分类:
其他好文 时间:
2015-04-11 17:31:51
阅读次数:
149
/*****************搜索二叉树*********************/
//《算法导论》P161
/*构建一个有n个不同关键字的二查搜索树的期望高度为h = O(lgn);
下述所有查找等操作的时间复杂度为O(h)
*/
/******定义搜索二叉树*****/
//对于任一节点x,满足其左子树上的节点key都不大于x.key
// ...
分类:
编程语言 时间:
2015-03-29 10:51:02
阅读次数:
137
1. 题目
输入一棵二叉搜索树,现在要将该二叉搜索树转换成一个排序的双向链表。而且在转换的过程中,不能创建任何新的结点,只能调整树中的结点指针的指向来实现。
二叉树结点的定义如下:
struct BinaryTreeNode
{
intm_nValue;
BinaryTreeNode*m_pLeft;
BinaryTreeNode*m_pRight...
分类:
其他好文 时间:
2015-03-21 21:22:44
阅读次数:
173
把几个主要的函数组合起来即可:1.从文本读取单个单词(去掉空格,特殊符号等)2.用读出来的单词去更新搜索二叉树的节点(涉及二叉树的构建问题,递归)3.中序遍历,来递归打印二叉树的每个节点代码:#include #include #include #include #define MAXWORD 10...
分类:
其他好文 时间:
2015-03-19 23:37:30
阅读次数:
184
上千万或上亿的数据,现在的机器的内存应该能存下。所以考虑采用hash_map/搜索二叉树/红黑树等来进行统计次数。然后就是取出前N个出现次数最多的数据了,可以用第2题提到的堆机制完成。
#include "IOSTREAM"
#include
#include
#include
using namespace std;
int main(void)
{
//海量待统计数据
char...
分类:
编程语言 时间:
2015-03-14 08:29:20
阅读次数:
412
[
概述: [CustomEnumerateProperty] 当给定的接口被枚举时,允许你为指定接口的属性获取函数编写自己的实现. 同样,当接口的属性被删除时,[CustomDeleteProperty]允许你编写自己的实现.
u customEnumerateProperty](i), [CustomDeleteProperty](i)
用法: 这两个修饰可...
分类:
Web程序 时间:
2015-02-20 18:39:01
阅读次数:
170
按照递归的方法递归每个节点的值,建立一棵完整的二叉排序树。
分类:
编程语言 时间:
2015-02-09 21:40:31
阅读次数:
338
函数可以让我们将一个复杂功能划分成若干模块,让程序结构更加清晰,代码重复利用率更高。像其他编程语言一样,Shell 也支持函数。Shell 函数必须先定义后使用。Shell 函数的定义格式如下:function_name () { list of commands [ return va...
分类:
系统相关 时间:
2015-01-04 18:39:41
阅读次数:
183
这道题承接Unique Binary Search Trees,只需要返回搜索二叉树的个数,用DP求解。但是这道题需要得到所有树的集合,可以用DFS求解。
原题是这个样子的:
Given n, generate all structurally unique BST's (binary search trees) that store values 1...n.
For example,
Given n = 3, your program should return all 5 unique BST's...
分类:
其他好文 时间:
2014-12-17 00:23:26
阅读次数:
191
五、删除数据在C# Redis实战(四)中讲述了如何在Redis中写入key-value型数据,本篇将讲述如何删除Redis中数据。1、void Delete(T entity);删除函数的运用[csharp]view plaincopyusing(varredisClient=RedisManag...