摘要: C++字符串完全指南Win32字符编码前言字符串的表现形式各异,TCHAR,std::string,BSTR等等,有时还会见到怪怪的用_tcs起头的宏。这个指南的目的就是说明各种字符串类型及其用途,并说明如何在必要时进行类型的相互转换。在指南的第一部分,介绍三种字符编码格式。理解编码的工作原理是致为重要的。即使你已经知道字符串是一个字符的数组这样的概念,也请阅读本文,它会让你明白各种字符串类之间的关系。指南的第二部分,将阐述各字符串类,什么时候使用哪种类,及其相互转换。字符串基础 - ASCII, DBCS, Unicode所有的字符串类都起源于C语言的字符串,而C语言字符串则是字符的数组。首 阅读全文
posted @ 2012-12-27 20:41 Keosu 阅读(3899) 评论(0) 推荐(0) 编辑
摘要: 摘要:最近读了《这就是搜索引擎:核心技术详解》一书,简要作个记录。__________________________________________________目录【1】搜索引擎概述【2】搜索引擎的基础技术【3】搜索引擎的平台基础 【4】搜索结果的改善优化__________________________________________________【1】搜索引擎概述过去的15年间,互联网信息急剧膨胀,靠人工的方式去筛选获取有用信息不再可能,因此搜索引擎应运而生。根据其发展,可以将其划为四个时代。分类目录。yahoo是这个时期的代表,采用纯人工方式收集,质量较高,但效率低。文本检索。 阅读全文
posted @ 2012-09-30 17:10 Keosu 阅读(18169) 评论(0) 推荐(7) 编辑
摘要: 主要内容 通过继承实现自己的界面类;涉及模块:QDialog, QLineEdit , QTextBrowser界面布局:绝对布局,布局类实例讲解先看一段代码,我们定义了一个类Form,它继承自QDialogclass Form(QDialog): def __init__(self, parent=None): super(Form, self).__init__(parent) self.browser = QTextBrowser() self.lineedit = QLineEdit("Type an expression and pr... 阅读全文
posted @ 2012-09-27 19:20 Keosu 阅读(8265) 评论(0) 推荐(0) 编辑
摘要: 主要内容 主要了解PyQt程序的整体框架;涉及模块:QApplication, QLabel , QTimer实例讲解首先先看一个简单的PyQt程序:import sysfrom PyQt4.QtGui import *from PyQt4.QtCore import *app = QApplication(sys.argv) label = QLabel("<font color=red size=128><b>Hello PyQT!</b></font>")label.setWindowFlags(Qt.SplashScr 阅读全文
posted @ 2012-09-27 16:15 Keosu 阅读(4509) 评论(0) 推荐(0) 编辑
摘要: 找出数组中唯一的重复元素※1-1000放在含有1001个元素的数组中,只有唯一的一个元素值重复,其它均只出现一次.每个数组元素只能访问一次,设计一个算法,将它找出来;不用辅助存储空间,能否设计一个算法实现?(1) 方法一:(当N为比较大时警惕溢出)将1001个元素相加减去1,2,3,……1000数列的和,得到的差即为重复的元素。 int Find(int* a) { int i; for (i = 0;i<=1000;i++) a[1000] += a[i]; a[1000] -= (i*(i-1))/2 //i的值为1001 return a[1000]; }(2) 方法二:数组取值操 阅读全文
posted @ 2012-09-24 19:15 Keosu 阅读(7223) 评论(3) 推荐(1) 编辑
摘要: 最小权顶点覆盖问题给 定一个赋权无向图G=(V,E),每个顶点v∈V都有一个权值w(v)。如果U包含于V,且对于(u,v)∈E 有u∈U 且v∈V-U,则有v∈K.如:U = {1}, 若有边(1,2), 则有2属于K. 若有集合U包含于V使得U + K = V, 就称U 为图G 的一个顶点覆盖。G 的最小权顶点覆盖是指G 中所含顶点权之和最小的顶点覆盖。输入: 输入数据。第1 行有2 个正整数n 和m,表示给定的图G 有n 个顶点和m条边,顶点编号为1,2,…,n。第2 行有n个正整数表示n个顶点的权。接下来的m行中,每行有2 个正整数u,v,表示图G 的一条边(u,v)。输出:将计算出的最 阅读全文
posted @ 2012-09-19 10:37 Keosu 阅读(4768) 评论(0) 推荐(0) 编辑
摘要: 【描述】求一个字符串的最长递增子序列的长度如:dabdbf最长递增子序列就是abdf,长度为4【输入】第一行一个整数0<n<20,表示有n个字符串要处理随后的n行,每行有一个字符串,该字符串的长度不会超过10000【输出】输出字符串的最长递增子序列的长度方法一:==========================================用一个数组保存以当前字符作为结束的最长字串对于一个字符串 s ,申请同样长度的数组 X,X[i] 表示以s[i]结束的最长单调递增子串X[i] = max{ X[j]+1 } ,其中0≤j<i,且s[j]<s[i]则s的最长升序子 阅读全文
posted @ 2012-09-08 10:18 Keosu 阅读(1907) 评论(0) 推荐(0) 编辑
摘要: http://www.codeproject.com/Articles/7042/How-to-interpret-complex-C-C-declarationsContentsIntroductionThe basicsThe const modifierThe subtleties of typedefFunction pointersThe right-left rule [Important]Further examplesSuggested readingCreditsIntroductionEver came across a declaration like int * (* 阅读全文
posted @ 2012-07-30 15:56 Keosu 阅读(556) 评论(0) 推荐(1) 编辑
摘要: ※ 使用C++风格尽量用const和inline而不用#define,因为#define经常被认为好象不是语言本身的一部分。尽量用<iostream>而不用<stdio.h>,scanf和printf很轻巧,很高效,事实上他们不是类型安全的,而且没有扩展性。因为类型安全和扩展性是C++的基石尽量用new和delete而不用malloc和free,malloc和free(及其变体)会产生问题的原因在于它们太简单:他们不知道构造函数和析构函数。尽量使用c++风格的注释,行注释//。旧的c注释语法在c++里还可以用,c++新发明的行尾注释不用担心嵌套问题※为需要动态分配内存的 阅读全文
posted @ 2012-07-21 09:20 Keosu 阅读(425) 评论(0) 推荐(0) 编辑
摘要: 二叉树是每个结点最多有两个子树的有序树。通常子树的根被称作“左子树”(left subtree)和“右子树”(right subtree)。二叉树常被用作二叉查找树和二叉堆或是二叉排序树。二叉树的每个结点至多只有二棵子树(不存在度大于2的结点),二叉树的子树有左右之分,次序不能颠倒。二叉树的遍历包括深度优先和宽度优先,深度优先又有前序,中序遍历和后序遍历三种。对于深度优先遍历,递归遍历方法直观而简洁,如果要使用非递归方法,一般要借用栈结构;宽度优先则常使用队列来实现。#include using namespace std; template class TreeNode { protec.. 阅读全文
posted @ 2012-07-17 21:03 Keosu 阅读(390) 评论(0) 推荐(0) 编辑