- 博客(6)
- 资源 (12)
- 收藏
- 关注
原创 红黑树及其绘制
红黑树是重要的数据结构,而其操作又很复杂,如果能够可视化地展示插入与删除过程,则学习起来会容易得多。为了学习它们,我翻译以下文章(论文)并实现了相应算法,并放到网络上,与说中文的程序爱好者共同进步。1、红黑树-[英文版, Wikipedia]2、Tidy Drawings of Trees-[英文版, Charles Wetherell & Alfred Shannon]3、Tid
2012-08-25 12:42:15 3647 1
原创 C# using 语句的妙用
Common Lisp 中有一种“with-”语句风格,它们可以以方便的方式做 try ... finally 的工作,常用于确保文件、数据库连接正确关闭。虽然在 C# 中我们可以使用 try ... finally 语句做相同的事,但有时做起来会很冗长,不方便。另一方面 C++ 中的 RAII 确实是个非常合适的替代方式。由此想到了使用 C# 中的 using 语句来模拟这种风格,示
2012-07-08 14:46:49 603
原创 用于测试“红黑树算法实现的正确性”的工具示意图
红黑树的操作非常复杂,即使实现了也可能存在bug,因此我们需要反复进行测试。 为了方便测试,最好有一个显示出树的当前状态的工具,这里的程序即是《数据结构:C#语言描述》(陈广)中所讲的二叉绘制算法的实现。 经过测试,基本肯定了我的红黑树算法实现的正确性,经过多次修改,算法的代码已经比较简洁,等整理好后做一个完整的总结,这里先放一个效果图。
2012-02-22 23:22:53 1721
原创 元程序:计算类型的字符串表示
<br />学习模板编程,做练习2-5:<br />#include <cstdio>#include <iostream>#include <string>using namespace std;template<class T>class type_descriptor;template<>class type_descriptor<void>{public: static string str() { return "void"; }};t
2011-05-13 17:24:00 643 1
原创 迷你垃圾回收器 mini gc for c
<br />readme.txt<br />---------------------------------------------------<br /> minigc是一个适用于C语言的迷你垃圾回收器,它和BDWGC(http://www.hpl.hp.com/personal/Hans_Boehm/gc/)、tinygc(http://tinygc.sourceforge.net/)一样都是保守垃圾回收器(即可能不会回收所有垃圾的回收器)。<br /> minigc只是玩具代码,它不支持多线
2011-04-10 21:02:00 2117 4
原创 8皇后问题Python与C++实现
今天看《Python基础教程(第二版)》,看到生成器部分,作者用生成器给出一种非常精妙的解法:#!/usr/bin/env pythondef conflict(state, nextX) : nextY = len(state) for i in range(nextY) : if abs(nextX - state[i]) in (0, nextY - i) : return True return Falsedef queenes(num=8, state
2011-04-02 23:11:00 898 1
英文新版,书签iPad可用:带标签的“龙书”:编译原理-[英文第二版]
2018-11-06
计算二分图最大匹配的Hopcroft-Karp算法-[1973年原始论文, 附翻译的中文版].
2013-06-27
郑码-字根码输入法
2012-08-29
红黑树及其绘制
2012-08-25
A Fast Memory Allocator -- 快速内存分配器
2011-10-04
KMP算法与trie搜索树实现
2011-05-20
基本正则表达式实现regex-v1.0
2011-05-15
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人