CatCoding

当前 26,共 27 页

《编程珠玑》:代码优化

编程珠玑里面代码优化这一章。 问题 1 函数,宏,内联代码#define max(a,b) ((a)>(b)? (a):(b)) float max(float a,float b) { return a>b? a:b; } inline float max(float a,f ......

A*算法与 K-shortest path 问题

那天师兄给面试,面到一道图算法题目,求图中两个点的前 K 短路径。当时觉得用 Dijkstra+heap 应该可以,不过也没想清楚。以前看到过这个,那时还没怎么仔细看图算法所以丢一边了,今天好好看了一下。简单一点的解法是用 Dijkstra+Astar。典型的题目就是POJ 2449。    A* ......

一个小题目

前些天在班级群里看到一个笔试题: 从 1 到 100000 中任意拿掉两个数字,把剩下的 99998 个数顺序打乱,并且放入数组 A 中。要求只扫描一遍,把这两个数找出来;可以使用最多不超过 5 个局部变量,不能使用数组变量,并且不能改变原数组的值。 也想不到什么更好的解法,原解法是顺序扫一边求 ......

魔法书:SICP

《计算机程序的构造与解释》,SICP。这本书号称魔法书,真的是本非常有趣的书。为什么要看这本书,豆瓣上面有很多推荐,书评写得都很好,在这里。我最初看的是英文版,在网上很好找到,MIT 开源课程的网站上面有很多相关资料。从 80 年开始 MIT 就是用这门课程作为计算机的入门课程的 (MIT 真是个 ......

走出迷宫 - 路径搜索

上次把那个迷宫弄出来,然后想了想解法,找了些资料。再把界面上弄了一下,右边迷宫大小,然后有一个选项 percent,是代表要推倒的墙占的总百分比,如果数字越小生成的迷宫就越稀疏,有可能有多条 通路从起点到终点,数字大那么生成的迷宫就越密集,但至少有一条通路。 单迷宫解法 迷宫第一定律:一般而言,只 ......

The Game of Life

简介 Game of Life是 Princeton 的一个数学家发明的游戏,这个不像一般的小游戏,有胜负,这只是一个规则很简单的模拟游戏,规则很简单,但是过程和结果都很有趣,大三时看到一个同学实现过,去年无聊时也写了个实现,挺好玩的,最后形成的图案很有趣。 rule 平面中的一个小方格分为生和死的 ......

指针指针

今天由一个函数加深了对指针的理解,是这么一个函数: void BST_Delete(BITREE y) //删除节点 y { if (y->lch==NULL && y->rch==NULL && y->p) { if ......

《C 深度探索》笔记

最名不副实的关键字 static 这个关键字在 C 语言里面有两个作用,C++ 对这个关键词进行了扩展。 1:修饰变量,又分为局部变量和全局变量,被修饰的变量都存储在静态的内存区域。修饰静态变量,那么只有在这个文件内可以引用它,在其他文件里面即使使用 extern 也不能进行访问。所以一般是放在文件 ......

《Concrete Abstractions》的一些解答

这本书名中文名字叫什么呢,有本《具体数学》,那么这本书“具体抽象”,矛盾了。副标题是 An Introduction to Computer Science Using Scheme。可以看出这是本引论性质的计算机理论书籍。《冒号课堂》里面说过,编程中最重要的能力是抽象的能力,这本书也在培养这么一 ......

迷宫生成算法–并查集

好书好书 在看《数据结构与算法分析》这本书的时候看到后面的一个关于并查集的有趣应用,是个生成迷宫的算法,看起来非常有趣,所以就实现了一下。顺便把几种走迷宫的算法都整了 进去。八卦一下,这本书的作者是Mark Weiss,这牛写了几本数据结构和算法的书,各种语言版本 (C,C++,Java),原来是师 ......