Mastering Algorithms with C中文版附带源码说明
Mastering Algorithm with C是一本非常经典和独具个性的算法书,主要是从程序员的角度,对算法领域的基本内容,通过C语言进行源码实现,其附带的源码非常详细,对初接触这个领域的程序员很有参考价值.我特地将该书源码的使用方法做了笔记,放在这样,以便日后参考.
下面是该书的封面:
1.首先从OReilly的该书官网下载相应的源码:
http://http://shop.oreilly.com/product/9781565924536.do解压相应的软件包,只选择相应的Unix文件夹,因为我只在Ubuntu 12.04 64bit下面编译,
下面是相应的源码目录:
注意阅读该文件夹下面的README文件,我们可以大致了解该源码的目录结构说明,
include 是书中代码的头文件和接口声明文件
source 是相应的接口实现文件,和书中代码命名完全一致
example 是调用接口文件,实现相关算法功能的demo代码,主要是含有main函数和makefile文件
2.编译演示demo的方法
首先在~/.bashrc中定义环境变量ALGOWC_TOPDIR为该套源码的顶层目录,即
vim ~/.bashrc
在末尾加上
export ALGOWC_TOPDIR=/home/taoyx/program_develop/book_src_code/mawc
source ~/.bashrc
下面开始编译,拿example/bistree为例说明(其它目录的编译完全相同)
make -f bistree.mak
./ex-1.exe
如果编译出错,清除刚才编译的中间文件的方法
make -f bistree.mak clean
相关文章:

仿qq左滑删除listview_Java基于Swing和Netty仿QQ界面聊天小项目
点击上方 好好学java ,选择 星标 公众号重磅资讯、干货,第一时间送达今日推荐:硬刚一周,3W字总结,一年的经验告诉你如何准备校招!个人原创100W访问量博客:点击前往,查看更多来源&…

[BZOJ1602] [Usaco2008 Oct] 牧场行走 (LCA)
Description N头牛(2<n<1000)别人被标记为1到n,在同样被标记1到n的n块土地上吃草,第i头牛在第i块牧场吃草。 这n块土地被n-1条边连接。 奶牛可以在边上行走,第i条边连接第Ai,Bi块牧场,第i…

大数据中用到的新的数据类型bigint、decimal、smallint、tinyint
在对比oracle数据库和大数据库的时候,发现了几个用以存放数字的新的类型bigint、decimal、smallint、tinyint,为了对比之间的不同,我进行了统计 bigint 可以精确的表示从-263到263-1(即从-9,223,372,036,854,775,808到 9,223,372,036,854,77…

[综合面试] 计算机面试书籍与求职网站推荐
一、推荐书籍 计算机的好书挺多的,我买了也有四五十本,也花了不少钱,但是这些投资都是值的,好好看一下这些书,让自己找工作时的薪水涨个几千是没问题的。当然,也有些书是电子版的。我是c方向的,…

python在工厂中的运用_Python常见工厂函数用法示例
工厂函数:能够产生类实例的内建函数。工厂函数是指这些内建函数都是类对象, 当调用它们时,实际上是创建了一个类实例。Python中的工厂函数举例如下:1. int(),long(),float(),complex(),bool()>>> aint(9.9)>>> …

Java Random()函数生成指定范围的随机数
java中随机生成数字(指定范围) //随机获得0到(i-1)的一个数 int i ThreadLocalRandom.current().nextInt(i);

删除链表中的重复项
方法一:时间优先建立一个hash_set,key为链表中已经遍历的节点内容,开始时为空。从头开始遍历链表中的节点:- 如果节点内容已经在hash_set中存在,则删除此节点,继续向后遍历;- 如果节点内容不在h…

python提取文件名数字_在Python中从文件名提取扩展名
是否有从文件名中提取扩展名的功能?#1楼一种选择可能是与点分开:>>> filename "example.jpeg">>> filename.split(".")[-1]jpeg文件没有扩展名时没有错误:>>> "filename".split(&…

imagick API 中文说明
下面是 imagick API 中文说明 : imagick 类 imagick::adaptiveblurimage 向图像中添加 adaptive 模糊滤镜 imagick::adaptiveresizeimage 自适应调整图像数据依赖关系 imagick::adaptivesharpenimage自适应锐化图像 imagick::adaptivethresholdimage 基于范围的选择…

利用dom4j将实体类转换为对应的xml报文
利用dom4j生成xml报文 目标格式: <?xml version"1.0" encoding"GBK"?><Packet type"REQUEST" version"1.0"><Head><RequestType>C03</RequestType><UserCode>BOCIJS</UserCode…

JSP--JavaBean
JSP 最强有力的一个方面就是能够使用 JavaBean 组件。 按照 Sun 公司的定义, JavaBean是一个可重复使用的软件组件。实际上 JavaBean 是一种 Java 类,通过封装属性和方法成为具有某种功能或者处理某些业务的对象,简称 Bean。 一个基本的 JSP …

python 速度矢量_最近邻搜索4D空间python快速-矢量化
For each observation in X (there are 20) I want to get the k(3) nearest neighbors.How to make this fast to support up to 3 to 4 million rows?Is it possible to speed up the loop iterating over the elements? Maybe via numpy, numba or some kind of vectoriza…

使用ajax不刷新页面获取、操作数据
在使用jsp或html时,利用ajax达到不刷新页面就可以获取、操作数据。 首先上代码 (htmljs) 在此处需要引入jquery插件 <!-- 这是页面部分 html--> <body><div style"width:100%;height:30px; float:left"><in…

C/C++面试题分享
1、指针和引用的区别? 答:引用是在C中引入的。它们之间的区别有: (1) 非空区别:指针可以为空,而引用不能为空 (2) 可修改区别:如果指针不是常指针…

js增加属性_前端js基础2
JavaScriptECMAScript(ES):规定了js的一些基础的核心知识(变量、数据类型、语法规范、操作语句等) 3/56/7 说出ES5和ES6的区别? DOM:document object model 文档对象模型,里面提供了一些属性和方法,可以让我们操作页面中的元素 BO…

附加的操作系统服务
select :等待I/O实现threading:高层次的线程接口thread:多线程调度dummy_threading:提供threading模块的副本接口dummy——thread:提供thread模块的副本接口mutiprocessing:在全局调度锁下使用子进程mmap:内…

使用myeclipse的第一步
使用myeclipse的第一步 将以下代码copy放在一个包中运行,然后在控制台输入任意字符,回车,然后控制台打印一串密匙,这里你输入的就是账号,控制台返回的就是注册码,点击MyEclipse->Subscription *** 输入…

一道题弄明白二维数组的指针
#include<stdio.h> int main(int args,char ** argv) {int map[3][3]{{1,2,3},{4,5,6},{7,8,9}};int **pMap(int **)map;printf("%d\n",map);//数组的首地址printf("%d\n",*(map1));//数组第二行首地址printf("%d\n",*map1);//数组首行的第…

Linux网络编程--进程间通信(一)
进程间通信简介(摘自《Linux网络编程》p85) AT&T 在 UNIX System V 中引入了几种新的进程通讯方式,即消息队列( MessageQueues),信号量( semaphores)和共享内存( sha…

mysql 行号_PQ获取TABLE的单一值作为条件查询MySQL返回数据
下午,我正爽歪歪地喝着咖啡,看着Power BI每秒钟刷新一次,静静等待某个分公司完成本月绩效任务,自动调用Python在钉钉群中发送喜报:紧接着再次调用Python将Power BI云端报告中的各分公司最新完成率数据和柱状图截图发在…

UUID的使用及其原理
今天敲项目要用UUID,想起之前老师告诉UUID的使用,但没说具体的生成逻辑,于是我进行了百度 首先,UUID的使用: //生成随机的UUID String uuid UUID.randomUUID().toString().replaceAll("-", "")…

链表类型题目需要用到的头文件list.h
下面是后面链表相关题目中需要用到的链表结点的定义和相关操作函数,参见下面的list.h文件: 注意链表结点的定义采用cpp的定义方式,它会被cpp的文件调用。比如后面删除链表重复结点的文件del_repeated_list.cpp中的编译方式: g -…

led计数电路实验报告_「正点原子FPGA连载」第八章 按键控制LED灯实验
1)实验平台:正点原子开拓者FPGA开发板2)本实例源码下载:请移步正点原子官网第八章 按键控制LED灯实验按键是常用的一种控制器件。生活中我们可以见到各种形式的按键,由于其结构简单,成本低廉等特点,在家电、数码产品、…

svn官方备份hot-backup.py强烈推荐
Author:牛班图 Date:2016/05/18 Address:suzhou --- centos 6.7默认安装的python是2.6.6,大家可以先查看一下自己操作系统的python版本,python -v; hot-backup.py是基于python2写的,python3的语法有些地方不一样,所以在…

用js方法做提交表单的校验
基础知识: 原始提交如下: <form action"<%basePath %>puser/register" method"post"><input placeholder"Name" name"realname"> <input type"email" placeholder"Email…

tree类型题目需要用到的头文件tree.h
下面是树类型题目需要用到的头文件tree.h,请包含在cpp文件中编译,而不是放在c文件中编译,比如查找树中两个节点的最低公共父结点的题common_parent_in_tree.cpp,编译它的方法是: g -g common_parent_in_tree.cpp -o common_parent_in_tree 下面是tree.h的内容: #include <…

用easyui动态创建一个对话框
function randomString(len) { len len || 32; var $chars ABCDEFGHJKMNPQRSTWXYZabcdefhijkmnprstwxyz2345678; /****默认去掉了容易混淆的字符oOLl,9gq,Vv,Uu,I1****/ var maxPos $chars.length; var pwd ; for (i 0; i < len; i) { pwd $…

网站收录工具(php导航自动收录源码)_网站如何快速收录,网站不收录怎么办?...
经常有朋友说怎么快速收录,网站不收录怎么收录??其实,网站不包括一般的新网站数量,没有SEO基础,SEO了解合作伙伴经常会遇到问题,甚至很多人会告诉你,不包括网站引流,导致…

JS Uncaught SyntaxError:Unexpected identifier异常报错原因及其解决方法
最近在写ajax的时候,调用js方法,遇到了Uncaught SyntaxError:Unexpected identifier异常报错,开始搞不清原因,很苦恼。 以为是js方法参数个数和长度的问题,后来发现原来是这样~ 以下是 浏览器窗口的报错 以及 按钮处…

python 打印皮卡丘_Python到底是什么?学姐靠它拿了5个offer
你ZAO吗?最近陌陌发布了一款很有意思的产品——ZAO,这款AI换脸的产品刷爆朋友圈!这款产品火爆到什么程度呢?正在使用ZAO的用户会发现,想要生成一段新的AI换脸视频,已经不是等待几秒、排队第几位的问题&…