- 博客(20)
- 资源 (76)
- 问答 (1)
- 收藏
- 关注
原创 算法导论11.2-4
更详细的见点击打开链接,这里只说一下自己的观点。这里是以槽位为操作对象的,本人认为在头脑中建立一个好的数学模型对于编程有很大帮助。每个槽位定义为一个node{key,flag,pre,next}需要一个自由链表,单链表即可。表头是Free=0;定义两个操作自由链表的函数,这很容易想到,即从自由链表中移出一个结点RemoveFromFree(槽对象),或将一个(node)槽对象加
2013-05-25 19:35:32 2202
原创 error C3872: '0x3000': this character is not allowed in an identifier 解决方法
编译时遇到这个错误多半是从网上拷贝一段代码到VS里然后编译时产生的,这是因为拷贝过来的代码里有全角空格的原因。解决方法就是把这段代码放到记事本里用UltraEdit或者其他有查找替换功能的编辑软件里,选择替换把全角空格替换成半角
2013-05-24 20:06:38 2139
原创 算法导论11.1-4
一、题目我们希望我们希望通过利用在一个非常大的数组上直接寻址的方式来实现字典。开始时,该数组中可能包含废料,但要对整个数组进行初始化是不实际的,因为该数组的规模太大。请给出在大数组上实现直接寻址字典方案。每个存储的对象占用O(1)的空间;操作search,insert,delete的时间为O(1);对数据结构初始化时间为O(1)。 (提示:可以利用另外一个栈,其大小等于实际存储在字典中
2013-05-24 19:52:42 2303 2
原创 算法导论第9章最坏情况为线性时间的选择算法
题目:实现找中位数的中位数。思路:自顶向下的思维方式,首先将一个长数组划分成每5个元素为一小组的几个小的数组,然后对每一个小的数组进行插入排序,返回第3个元素,将其保存在一个新的数组B中,再对B进行找中位数操作,这里并不进行排序,而是利用第9章的Select算法,直接返回第(a+b)/2小的元素(即中位数)即可。步骤:1将长数组划分成小数组。 2将每个小数组进行insert_sor
2013-05-19 16:29:24 3907
转载 算法导论 9.1-1 求第二小元素
转自http://blog.csdn.net/mishifangxiangdefeng/article/details/7983809#include #includeusing namespace std;//第一遍求最小值的结果用树表示struct node{ int key; node *next;//指向同一层中的下一个元素 node *p; //父指针 node
2013-05-18 21:35:55 1551
原创 算法导论第9章(o(3n/2)时间内找出最大最小值)
#include #include //包含INT_MAX,INT_MIN的头文件 int nMax = INT_MIN; //将INT_MIN设为当前最大值的初始值int nMin = INT_MAX;/////记录比较最大值函数void Max(int& nNum){ nMax = nNum > nMax ? nNum : nMax ;}/////记录比较最小值
2013-05-18 00:30:33 1828
原创 算法导论7.6对区间的模糊排序
题目:7-6 对区间的模糊排序 考虑这样的一种排序问题,即无法准确地知道待排序的各个数字到底是多少。对于其中的每个数字,我们只知道它落在实轴上的某个区间。亦即,给定的是n个形如[ai,bi]的闭区间,其中ai≤bi。算法的目标是对这些区间进行模糊排序(fuzzy-sort),亦即,产生的各区间的一个排列,使得存在一个cj∈[ai, bi],满足c1≤c2≤...≤cn。
2013-05-13 13:11:11 3929 2
转载 算法导论 第7章 课后习题
转自http://www.cnblogs.com/bigrabbit/archive/2012/06/08/2541356.html,中间有新增7.2-4 银行经常按照交易时间,来记录有关某一账户的交易情况,但是,很多人喜欢按照票据号来收到其银行对账单。因此,如何将按交易时间排序转换成按支票编号来排序,就成为一个对几乎排好序的输入进行排序的问题。证明在这个问题上,过程INSERT_SORT的性
2013-05-13 12:54:13 2278
原创 快速排序非递归实现
#include "stack"#include "stdio.h"#include "vector"using namespace std;void swap1(int& a,int& b){ int temp=a; a=b; b=temp;}//强大的异或,不需要用到暂时变量就可以实现二者互换void swap2(int& a,int& b){ if (a!=b)
2013-05-12 17:15:12 1654
原创 随机版的快速排序分析方法
随机版的快速排序(Randomized Quicksort)。运行时间不依赖于输入的排序情况最坏情况仅由随机数的生成决定 通常的做法是随机地选择主元(pivot)。T(n)为渐近运行时间,其期望值(Expectation)为E[T(n)],我们希望对所有的输入,找出这个期望值。对k=0,1,2,...,n-1,我们定义一个0-1随机变量X_k:X_
2013-05-11 16:18:12 1852
原创 快速排序及其中的两种划分中枢点的方法
#include "stdio.h"void q_sort(int a[],int l,int r);void swap(int& a,int& b);int partition1(int a[],int l,int r);int partition2(int a[],int l,int r);int main(){ int a[]={1,5,2,4,1,5,3,6,8,0,5,3,
2013-05-11 00:42:41 2245
原创 MFC的UpdateData()
MSDN解释:Flag that indicates whether dialog box is being initialized (FALSE) or data is being retrieved (TRUE).TRUE表示的是从对话框中获取数据,存入string或者其它变量中。FALSE表示的是对话框被初始化,用string或者其它变量的值去初始化
2013-05-10 23:56:53 1244
原创 TcpSrv和TcpClient
#include #include void main(){ WORD wVersionRequested; WSADATA wsaData; int err; wVersionRequested = MAKEWORD( 1, 1 ); //加载Ws2_32.dll err = WSAStartup( wVersionRequested, &wsaData ); if ( er
2013-05-10 23:53:58 2011
原创 C++ 中析构函数为什么要求是虚的
这是因为,通过基类指针来销毁派生类对象这个行为,当基类没有虚析构函数时会产生问题。我们知道删除指针对象是没有问题的,指针对象的析构函数会正确调用,但仅限于指针的类型所表示的对象大小。如果以一个基类指针指向其派生类,删除这个基类指针只能删除基类对象部分,而不能删除整个派生类对象,原因是通过基类指针无法访问派生类的析构函数。但是,如果像其它虚函数一样,基类的析构函数也是虚的,那么派生类的析构函数也
2013-05-10 23:49:43 4754 1
原创 office word 每页头上的这个字怎么删除不掉.?怎么更改里面的字!
双击文档里的页眉或页脚,进入页眉页脚的编辑状态,将页眉页脚里的内容全部删除,然后操作菜单“格式”→“样式和格式”,点选“样式和格式”里的“清除格式”,最后点击“页眉和页脚”工具条里的“确定”,退出编辑后页眉和页脚就被彻底删除了。
2013-05-10 23:32:57 2951
原创 二叉树的先序遍历非递归实现方法
#include "iostream"using namespace std;struct node { int key; node* left; node* right; node(){} node(int x):key(x),left(NULL),right(NULL){}};struct Tree { node* root; Tree():root(NULL){}}
2013-05-10 16:06:08 1546
原创 二叉树的递归插入,中序遍历
#include "stdio.h"struct node { int key; node* left; node* right; node(int value):left(NULL),right(NULL),key(value){}};void print_tree(node* root){ if (root==NULL) { return; } print_tree(
2013-05-10 15:56:16 1660
转载 编译器的自展与交叉
其实好久以前就想开始动手写这么一篇文章了,不过一直没有时间。现在正好刚考完最后一门期中考试,还是编译原理,就把这篇文章写出来。要阅读本文,不需要太高深的编译原理知识,甚至不需要编译相关的知识。但是本文也不是面向对电脑一无所知的读者的,你至少要知道:1. 不管是exe可执行文件还是Linux下的程序,都是一些二进制代码,我们称之为机器语言。这些代码的执行和系统以及CPU都有关。2
2013-05-07 12:40:34 1964
转载 混乱的First,Follow,Firstvt和Lastvt
混乱的First,Follow,Firstvt和Lastvt 2011-06-21 00:10:15| 分类: 学习笔记 | 标签:first follow firstvt lastvt 编译原理 |字号 订阅学编译原理的时候,印象最深的莫过于这四个集合了,而且也十分为之纠结。首先要知道First和Follow是一对,而Firstvt和Lastvt是一对。然
2013-05-07 12:37:23 4360 4
转载 算法导论10.2.8
一、题目说明如何对每个元素仅用一个指针np[x](而不是两个指针next和prev)来实现双链表。假设所有指针值都是k位的整型数,且定义np[x] = next[x] XOR prev[x],即next[x]和prev[x]的k位异或(NIL用0表示)。注意要说明访问表头所需的信息,以及如何实现在该表上的SEARCH、INSERT和DELETE操作。如何在O(1)时间内实现这样的表。
2013-05-05 14:21:25 2424
codeblocks13.12汉化包
2014-12-19
AC自动机-Set Matching and Aho-Corasick Algorithm
2014-03-07
wrapper-windows-x86-32-3.5.30.zip
2017-08-07
Wpf MVVM最简单的一个例子(无Model)
2016-01-27
带mingw的codeblocks-13.12安装版
2014-12-18
Chromium ppapi开发有关问题?
2015-04-08
TA创建的收藏夹 TA关注的收藏夹
TA关注的人