- 浏览: 21738 次
- 性别:
- 来自: 南京
-
最新评论
-
lyltim:
写得很好,受益了~
如何在C语言中实现简单的泛型编程(一)
文章列表
国内关于数据结构的教材,不可不提严蔚敏的《数据结构-C语言实现》这本书。想必科班出身的,尤以考研族甚为熟悉。可谓国内权威教材。本人刚考完研,其内容自然是读过不下3遍。其内容非常基础,乃是介绍了数据结构的基本内容,作为广大程序员的入门教材,却也足够。语言许多地方有些晦涩,但认真推敲也无较大瑕疵。本人也看过耿国华版本的《数据结构》,与前者差别不大,语言更加亲和,但深度广度不及严版。
最近钻研CLRS,以求在数据结构与算法方面更进一步学习,着实发现国外教材的严谨,全面,严奶奶着实不及。也发现前路漫漫,其修远兮,我必须上下而求索。也发现了一些中外教材定义上不一致的地方,尤以树这个方 ...
有一次在北大讲座,遇到一位学生问我,“老师,你说学习重要,还是经营人脉重要?”看着他一脸大杂烩的表情,我先拿出本子记下了这个问题,然后告诉他说,这是个比较大的话题,我会仔细写篇文章放在网上的,然后给了他我的博客地址。而后又补了一句,“相信我,所谓的人脉就算重要,也根本没他们说的那么重要”。 让我们细说从头。先动脑思考一下,你愿意与什么样的人成为朋友?从幼儿园开始,每个人就都已经有一些选择朋友的原则——尽管并不自知。事实上,资源分布的不均匀,必然造成人与人之间的某种依附关系。观察一下,就可以看到事实:幼儿园里玩具多的孩子更容易被其他孩子当作朋友。那么,玩具最多的孩子朋友最多么?答案并非肯定。 ...
- 2011-09-24 09:58
- 浏览 704
- 评论(0)
写在前面:
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr> 在英语文摘中看到了这篇文章,文章本身写得很好,而且内容也吸引了我这半个完美主义者。所以在紧张的考研复习中抽出半天时间google到这篇文章,在尽量不受英语文摘翻译的影响下做一个全文翻译练习,算是英语实习作业吧。考研英语中也有翻译题,经过这次练习对于我把握英语写作的能力也会有所提高。作为半个完美主义者,希望这篇文章也能为我和也有类似困扰的人们带来些启示吧。文章中穿插了一些我的经历和感想,均标示出来。水平有 ...
- 2011-09-11 12:48
- 浏览 679
- 评论(0)
最近开始了考研专业课数据结构的复习,严蔚敏的教材在第一章绪论中肤浅地介绍了算法分析的概念和方法,包括时间复杂度的分析,鉴于前段时间在看《算法导论》这本书,也有看MIT的算法导论的开放课程,所以结合书和课程 ...
- 2011-07-28 20:52
- 浏览 786
- 评论(0)
最近开始了考研专业课的复习,由于一直以来对数据结构和算法的喜爱,所以在考研复习中希望结合考研复习和之前学习《算法导论》和MIT开放课程学到的知识和自己的一些编程经验写写博客,以达到巩固知识和学习交流的目的 ...
- 2011-07-20 17:14
- 浏览 577
- 评论(0)
引子问题:
中国象棋将帅问题:
在一把象棋的残局中,象棋双方的将帅不可以相见,即不可以在中间没有其他棋子的情况下在同一列出现。而将、帅各被限制在己方的3*3的格子中运动。相信大家都非常熟悉象棋的玩法吧,这里就不详细说明游戏规则了。
用A、B代表将和帅,请写出一个程序,输出A、B所有合法的位置。要求在代码中只能用一个变量。
- 2011-07-15 15:28
- 浏览 754
- 评论(0)
本回将尝试在Linux环境下能否在系统监视器中画出一个正弦曲线。本人环境为Ubuntu 11.04.
基本思想还是和Windows下面的相同,更换系统调用,便可以实现功能的迁移。
#include <time.h>
#include <sys/time.h>
#include <unistd.h>
#include<stdlib.h>
#include<math.h>
#define DWORD unsigned long
#define UINT64 unsigned long long
const double SPLIT = ...
- 2011-06-30 15:52
- 浏览 1310
- 评论(0)
让多核CPU占用率曲线听你指挥——《编程之美》1.1学习笔记
Problem:
写一个程序,让用户来决定Windows任务管理器(Task Manager)的CPU占用率。有以下几种情况:
1.CPU占用率固定在50%,为一条直线;
2.CPU的占用率为一条直线,具 ...
- 2011-06-29 23:26
- 浏览 2440
- 评论(0)
问题:
How can anagrams result from sequences of stack operations? There are two sequences of stack operators which can convert TROT to TORT:
[
i i i i o o o o
i o i i o o i o
]
whereistands for Push andostands for Pop. Your program should, given pairs of words produce sequences of stack ope ...
- 2011-06-25 12:03
- 浏览 1642
- 评论(0)
Problem:
Fire Net
Suppose that we have a square city with straight streets. A map of a city is a square board with n rows and n columns, each representing a street or a piece of wall.
A blockhouse is a small castle that has four openings through which to shoot. The four openings are facing North, ...
- 2011-06-15 11:33
- 浏览 1097
- 评论(0)
最近学校贴出了就业比较好的几个大四学长学姐。不乏我们计算机系的几位优秀的学生。奖学金、专业第一,各种编程比赛、电子竞赛拿奖,目前也都进了腾讯、360、华为等IT界比较NB的公司。成绩、能力出众的同时人品也是好 ...
- 2011-05-23 23:21
- 浏览 459
- 评论(0)
有同学说现在对于时间管理和效率挺担心的,姐姐分享一个我觉得很好的文章,先来做测评吧。
下面是一个评测效率的小试题,大家都来做做看:
1,接到一个对自己来说很有难度的任务,你首先做的是:
A.开始喊郁闷,心烦,安慰自己先休息一下,一会再来解决;
B.寻找各种可能的解决办法,或者求助相关的人。
2,开始行动之前,你花了多少时间来考虑这件事情可能出现的问题:
A.我只有想清楚,确保每一个步骤都不会出错,才开始动手。
B.大略思考一下可能会出现的情况,作些必须的准备,马上开始动手。
3,做一件事情之前,你清楚地明白你要完成什么以及要达到什么样的程 ...
- 2011-05-20 23:55
- 浏览 664
- 评论(0)
问题:
输入N个0~9的整数,可以重复,从小到大打印出这N个数字组成的所有N位数。
e.g
输入:
4002
输出:
0024
0042
0204
0240
0402
0420
2004
2040
2400
4002
4020
4200
策略:
这道题是一个同学问我的,她帮一个同学完成作业。 ...
- 2011-04-16 08:34
- 浏览 966
- 评论(0)
Ln命令用来在文件之间创建链接,默认为创建硬链接(目录不能创建硬链接),使用选项-s创建符号链接。讲ln以前,我们先来了解一下linux里的链接。 一、Linux里的链接又被称为链接文件,它分为硬链接和符号链接两种。两者的区别在于:硬链接指向文件本身,符号链接指向文件名称。这个区别是很重要,它导致了两种链接文件性质以及操作上的差异,反映在各个方面,我会在文章的最后归纳一下。 二、如何理解两种链接文件的两种不同指向?如果了解linux里文件的存储机制,这个很好理解。我在以前讲inode的文章里提到过,Linux里文件的文件名、文件属性、文件内容是分别存储的,所以硬链接和符号链接才可以有不同的指 ...
- 2011-03-05 22:00
- 浏览 1096
- 评论(0)
题外话
今天听了《编程范式》的Lecture 5,继续上一篇的主题,用C语言实现简单的泛型编程,收个尾。
正题
回忆上一篇的最后一个函数:
void* lsearch(void* key,void* base,int n,int elemSize,int (*cmpfn)(void*,void*)){
for(int i=0;i<n;++i){
...
- 2011-01-27 00:19
- 浏览 825
- 评论(0)