数学知识第八期 组合数全集

前言:组合数在高中大家应该都学过,也是一个重要的数学知识,希望大家能够完全掌握

一、组合数基本知识

定义:

组合是数学的重要概念之一。从 n 个不同元素中每次取出 m 个不同元素 ,不管其顺序合成一组,称为从 n 个元素中不重复地选取 m 个元素的一个组合。所有这样的组合的种数称为组合数。

计算公式:

在线性写法中被写作C(n,m)。
组合数的计算公式为

n 元集合 A 中不重复地抽取 m 个元素作成的一个组合实质上是 A 的一个 m 元子集合。如果给集 A 编序 成为一个序集,那么 A 中抽取 m 个元素的一个组合对应于数段 到序集 A 的一个确定的严格保序映射。组合数 的常用符号还有

实际上是自然数集上的二元运算,这种运算既不满足交换律也不满足结合律。

性质:

互补性质

组合数基本公式
即从n个不同元素中取出m个元素的组合数=从n个不同元素中取出 (n-m) 个元素的组合数;
这个性质很容易理解,例如C(9,2)=C(9,7),即从9个元素里选择2个元素的方法与从9个元素里选择7个元素的方法是相等的。
规定:C(n,0)=1 C(n,n)=1 C(0,0)=1
2.组合恒等式
若表示在 n 个物品中选取 m 个物品,则如存在下述公式:C(n,m)=C(n,n-m)=C(n-1,m-1)+C(n-1,m)。

二、例题

1.组合数I

AC代码:

#include <bits/stdc++.h>
using namespace std;
const int N = 2010, mod = 1e9 + 7;
int C[N][N], T;

void init() {
    for (int i = 0; i < N; ++ i) {
        for (int j = 0; j <= i; ++ j) {
            if (j == 0 || j == i)   C[i][j] = 1;
            else    C[i][j] = (C[i - 1][j] + C[i - 1][j - 1]) % mod;
        }
    }
}

int main()
{
    init();
    scanf("%d", &T);
    while (T -- ) {
        int n, m;
        scanf("%d%d", &n, &m);
        printf("%d\n", C[n][m]);
    }
    return 0;
}

2.组合数II


AC代码:

#include <bits/stdc++.h>
using namespace std;
const int N = 1e5 + 10, P = 1e9 + 7;
using LL = long long ;
int fact[N], infact[N];
int T;

int qmi(int a, int b) {
    int ans = 1;
    while (b) {
        if (b & 1)  ans = (LL)ans * a % P;
        a = (LL)a * a % P;
        b >>= 1;
    }
    return ans;
}

void init() {
    fact[0] = infact[0] = 1;
    for (int i = 1; i < N; ++ i) {
        fact[i] = (LL)fact[i - 1] * i % P;
        infact[i] = (LL)infact[i - 1] * qmi(i, P - 2) % P;
    }
}

int main()
{
    init();
    scanf("%d", &T);
    while (T -- ) {
        int n, m;
        scanf("%d%d", &n, &m);
        printf("%d\n", (LL)fact[n] * infact[m] % P * infact[n - m] % P);
    }
    return 0;
}

3、组合数III

AC代码:

#include <bits/stdc++.h>
using namespace std;
using LL = long long ;
int T, P;

int qmi(int a, int b) {
    int ans = 1;
    while (b) {
        if (b & 1)  ans = (LL)ans * a % P;
        a = (LL)a * a % P;
        b >>= 1;
    }
    return ans;
}

// 递推求解朴素的C(a,b)
int C(int n, int m) {
    if (m > n)  return 0;
    int ans = 1;
    // i控制的是分母的循环,对于b!,从1到b总共有b个数
    // j控制的是分子的循环,从a到a-b+1总共有b个数
    // 因此可以发现,分子和分母循环的次数是相同的
    for (int i = 1, j = n; i <= m; ++ i, -- j) {
        ans = (LL)ans * j % P;
        ans = (LL)ans * qmi(i, P - 2) % P;
    }
    return ans;
}

// 用Lucas定理递归求解
int Lucas(LL n, LL m) {
    if (n < P && m < P )    return C(n, m);
    return (LL)C(n % P, m % P) * Lucas(n / P, m / P) % P;
}

int main()
{
    scanf("%d", &T);
    while (T -- ) {
        LL n, m;
        scanf("%lld%lld%d", &n, &m, &P);
        printf("%d\n", Lucas(n, m));
    }
    return 0;
}

4、组合数IV

AC代码:

#include <bits/stdc++.h>
using namespace std;
const int N = 50010;
int s[N], primes[N], cnt;
bool st[N];

void get_primes(int n) {
    for (int i = 2; i <= n; ++ i) {
        if (!st[i] )    primes[cnt ++ ] = i;
        for (int j = 0; j < cnt && primes[j] <= n / i; ++ j) {
            st[i * primes[j]] = true;
            if (i % primes[j] == 0 )    break;
        }
    }
}

int get(int n, int p) {
    int ans = 0;
    while (n) {
        ans += n / p;
        n /= p;
    }
    return ans;
}

vector<int> mul(vector<int> &A, int b) {
    vector<int> C;
    for (int i = 0, t = 0; i < A.size() || t; ++ i) {
        if (i < A.size())   t += A[i] * b;
        C.push_back(t % 10);
        t /= 10;
    }
    while (C.size() > 1 && C.back() == 0)   C.pop_back();
    return C;
}

int main()
{
    int n, m;
    scanf("%d%d", &n, &m);
    get_primes(n);
    for (int i = 0; i < cnt; ++ i) {
        int p = primes[i];
        s[i] = get(n, p) - get(m, p) - get(n - m, p);
    }
    
    vector<int> ans;
    ans.push_back(1);
    for (int i = 0; i < cnt; ++ i)
        for (int j = 0; j < s[i]; ++ j)
            ans = mul(ans, primes[i]);
    
    for (int i = ans.size() - 1; i >= 0; -- i)
        printf("%d", ans[i]);
    puts("");
    
    return 0;
}

5、满足条件的01序列

AC代码:

// 写法1
#include <bits/stdc++.h>
using namespace std;
const int P = 1e9 + 7;
using LL = long long ;
int n;

int qmi(int a, int b) {
    int ans = 1;
    while (b) {
        if (b & 1)  ans = (LL)ans * a % P;
        a = (LL)a * a % P;
        b >>= 1;
    }
    return ans;
}

int main() {
    scanf("%d", &n);
    int a = 2 * n, b = n, ans = 1;
    for (int i = 1, j = a; i <= n; ++ i, -- j) {
        ans = (LL)ans * j % P;
        ans = (LL)ans * qmi(i, P - 2) % P;
    }
    
    ans = (LL)ans * qmi(n + 1, P - 2) % P;
    printf("%lld\n", ans);
    
    return 0;
}

总结

感谢大家的观看,谢谢大家!!!

  • 37
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
python入门到高级全栈工程师培训视频学习资料;本资料仅用于学习,请查看后24小时之内删除。 【课程内容】 第1章 01 计算机发展史 02 计算机系统 03 小结 04 数据的概念 05 进制转换 06 原码补码反码 07 物理层和数据链路层 08 网络层和arp协议 09 传输层和应用层 第2章 01 上节课复习 02 arp协议复习 03 字符编码 第3章 01 网络基础和dos命令 02 为何学习linux 03 课程内容介绍 04 操作系统内核与系统调用 05 操作系统安装原理 06 linux操作系统安装 07 初识linux命令 08 linux操作系统目录结构 09 目录及文件操作 第4章 01 上节课复习 02 创建用户相关的文件 03 用户增删该查及组相关操作 04 对文件的权限管理 05 对目录的权限管理 06 权限管理补充 07 属主属组及基于数字的权限管理 第5章 01 上节课复习 02 文件合并与文件归档 03 文件归档与两种压缩方式 04 vim编辑器 05 系统启动流程 06 grub加密 07 bios加密 08 top命令 09 free命令 10 进程管理 第6章 01 上节课复习 02 磁盘分区 03 文件系统与挂载 04 挂载信息讲解 05 磁盘用满的两种情况 06 软连接和硬链接 07 软连接和硬链接补充 第7章 01 ip地址与子网划分 02 ip地址配置 03 虚拟机网络模式 04 三层隔离验证试验 第8章 01 上节课复习 02 软件包介绍 03 rpm软件包管理 04 yum软件包管理 05 源码安装python3.5 06 ssh服务 07 apache服务 08 samba服务 第9章 01 Python开发系列课程概要 02 Python作业要求以及博客 03 编程语言介绍 04 Python种类介绍 05 Python安装以及环境变量的操作 06 Python初识以及变量 07 Python条件语句和基本数据类型 08 Python while循环语句以及练习题 09 练习题讲解 第10章 01 上节内容回顾以及补充 02 上周作业实现 03 Pycharm的安装和使用 04 Python 运算符 05 Python 运算符以及总结 06 Python 基本数据类型介绍 07 Python 整形的魔法 08 Python 字符串的魔法 第11章 01 Python 字符串的魔法 02 Python range的用法以及练习 03 Python 课上练习解释 04 Python 基础知识练习题试题 第12章 01 今日内容介绍以及基础测试题答案讲解 02 Python 列表的魔法 03 Python 元组的魔法 04 Python 字典的魔法 05 Python 错误更正:布尔值可以作为字典的key 06 Python 今日内容整理 第13章 第13章共1课 第14章 01 数据类型和变量总结 02 集合定义和基本操作方法 03 集合关系运算交,差,并集 04 集合的其他内置方法 05 集合补充 06 百分号字符串拼接 07 format字符串格式化 08 数学意义的函数与python中的函数 09 为何要有函数 10 函数返回值 11 可变长参数 第15章 01 上节课复习 02 全局变量与局部变量 03 风湿理论之函数即变量 04 函数递归 05 函数递归补充 第16章 01 上节课回顾 02 函数作用域 03 函数作用域补充 04 匿名函数 05 函数式编程介绍 06 函数式编程尾递归调用优化 07 map函数 08 map函数filter函数 09 reduce函数 10 map reduce filter总结 11 内置函数part1 第17章 01 课前吹牛 02 zip方法 03 max和min高级使用 04 其他内置函数 05 文件操作的其他模式 第18章 01 上节课复习 02 文件处理b模式 03 文件操作的其他方法 04 文件seek方法补充 05 迭代器协议和for循环工作机制 06 迭代器补充 07 三元运算,列表解析,生器表达式 第19章 01 生器函数 02 生器函数的好处 03 母鸡下蛋的传说 04 生器特性阐释 05 生产者消费者模型 06 第三次作业讲解 第20章 01 上节课回顾 02 装饰器基本理论 03 高阶函数使用 04 函数闭包 05 函数闭包装饰器基本实现 06 函数闭包加上返回值 07 函数闭包加上参数 08 函数闭包补充:解压序列 09 函数闭包为函数加上认证功能 10 函数闭包模拟session 11 函数闭包装饰器运行流程 12 函数闭包带参数装饰器 第21章 01 查询功能 02 修改功能 03 程序的解耦 04 module模块和包的介绍 05 模块的执行以及__name__ 06 关于模块的介绍 07 time时间模块 08 random模块 第22章 01 模块的补充 02 sys修改环境变量 03 BASEDIR的介绍 04 os模块的介绍 05 sys模块的介绍 06 json模块 07 pickle模块 08 shelve模块 09 XML模块 10 re模块简介 11 re模块之元字符 第23章 01 re模块之转义字符 02 re模块之分组 03 re模块之方法 04 re模块总结 05 logging模块 06 re模块补充 07 configparse模块 08 hashlib模块 09 计算器作业以及思路 10 模块导入补充 第24章 01 面向对象设计 02 类相关知识 03 对象相关知识 04 类属性增删改查 05 实例属性的增删改查 06 对象与实例属性 07 对象与实例属性补充 08 面向对象作业 第25章 01 上节课回顾 02 静态属性 03 类方法 04 静态方法 05 小结 06 组合 07 继承 08 接口继承与归一化设计 09 继承顺序之mro线性顺序列表 10 在python2中的继承顺序是什么 11 在子类中调用父类方法 12 super调用父类的方法 13 选择系统作业讲解 第26章 01 学生自主复习 02 分享列表 03 多态 04 封装 05 面向对象概念总结 06 反射 07 反射及动态导入模块 08 类的内置attr属性 09 类内置attr属性补充 10 继承的方式完包装 11 组合的方式完授权 第27章 01 os模块复习 02 上节课复习 03 内置函数补充及getattribute 04 getattribue补充 05 item系列 06 str与repr 07 自定制format 08 slots属性 09 doc属性 10 module和class 11 析构方法 12 call方法 13 迭代器协议 14 迭代器协议实现斐波那契数列 16 描述符答疑 17 描述符优先级 18 软件开发规范 19 pycharm干的好事 第28章 01 上节课复习 02 上下文管理协议 04 异常的构简单了解 05 描述符应用 08 类的装饰器的基本原理 09 类的装饰器增强版 10 类的装饰器的应用 11 自定制property 12 自定制property流程分析 13 自定制property实现延迟计算功能 14 property补充 15 元类介绍 16 自定义元类 17 函数复习 18 文件操作复习 第29章 01 上节课复习 02 什么是异常处理及异常处理的两种方式对比 03 多分支与万能异常 04 异常处理的其他内容 05 什么时候用异常处理 06 什么是socket 07 套接字发展及分类 08 基于tcp协议的套接字编程 09 socket底层工作原理解释 10 tcp三次握手与四次挥手 第30章 01 上节课复习 02 客户端服务端循环收发消息 03 socket收发消息原理剖析 04 服务端循环链接请求来收发消息 05 补充 06 udp套接字 07 recv与recvfrom的区别及基于udp实现ntp服务 08 基于tcp实现远程执行命令 09 基于tcp实现远程执行命令测试结果 10 粘包现象 11 粘包解决方法 第31章 01 上节课复习 02 socketserver实现并发 03 socketserver模块介绍 04 socketserver源码分析tcp版本 05 socketserver源码分析udp版 06 ftp作业要求讲解 07 补充:认证客户端链接合法性 第32章 01 FTP之参数解析与命令分发 02 FTP之逻辑梳理 03 FTP之验证功能 05 FTP之文件上传 06 FTP之断点续传 08 FTP之进度条 09 FTP之cd切换 11 FTP之创建文件夹及MD5校验思路 第33章 01 操作系统历史 02 进程的概念 03 线程的概念 04 线程的调用以及join方法 05 setDaemon方法和继承式调用.baiduyun.downloading 05 setDaemon方法和继承式调用 第34章 01 上节知识回顾 02 并发并行与同步异步的概念 03 GIL的概念 04 同步锁 05 递归锁 06 同步对象event 07 信号量 08 线程队列 09 生产者消费者模型 10 多进程的调用 第35章 01 进程通信 02 进程池 03 协程 04 事件驱动模型 05 IO模型前戏 06 阻塞IO与非阻塞IO 07 select及触发方式 08 select监听多连接 09 select与epoll的实现区别 第36章 01 异步IO 02 selectors模块介绍 03 selectors模块应用 04 作业介绍 第37章 01 selctors实现文件上传与下载 02 html的介绍 03 html文档树的概念 04 meta标签以及一些基本标签 05 img标签和列表标签 06 form表单之input标签 07 通过form向server端发送数据 08 form表单之select标签 09 table标签 第38章 01 css的四种引入方式 02 css的四种基本选择器 03 css的组合选择器 04 css的属性选择器 05 css的伪类 06 css的选择器优先级 07 css的背景属性 第39章 01 css的文本属性与边框属性 02 css的列表属性与display属性 03 css的内外边距 04 css的内外边距补充 05 css的float属性 06 css的清除浮动 07 css的定位 08 css的margin定位 第40章 01 抽屉作业之head区域(导航条) 02 抽屉作业之置顶区域 03 抽屉作业之content部分 05 抽屉作业之页码部分 06 抽屉作业之footer部分 第41章 01 JS的历史以及引入方式 02 JS的基础规范 03 JS的基本数据类型 04 JS的运算符 05 JS的控制语句与循环 06 JS的循环与异常 07 JS的字符串对象 08 JS的数组对象 09 JS的函数对象 第42章 01 JS的函数作用域 02 JS的window对象之定时器 03 JS的history对象和location对象 04 JS的DOM节点 05 JS的DOM节点 第43章 01 上节知识回顾 02 js之onsubmit事件与组织事件外延 03 DOM节点的增删改查与属性设值 04 正反选练习 05 js练习之二级联动 06 jquery以及jquery对象介绍 07 jquery选择器 08 jquery的查找筛选器 09 jquery练习之左侧菜单 第44章 01 jquery属性操作之html,text,val方法 02 jquery循环方法和attr,prop方法 03 jquery模态对话框与clone的应用 04 jqueryCSS操作之offsets,position以及scrolltop 05 jquery事件绑定与事件委托 06 jquery动画效果 07 jquery扩展与插件 08 jquery扩展补充 09 本周作业轮播图以及思路 第45章 轮播图片css部分 轮播图片js部分 第46章 01 数据库与dbms的概念 02 sql规范 03 数据库操作DDL 04 python s3 day46 mysql的数据类型 05 数据表操作 06 表记录之增删改操作 07 表记录查询之查询 第47章 01 多表查询之连接查询 02 级联删除与set null 03 多表查询之连接查询 04 多表查询之复合查询与子查询 05 mysql之索引 第48章 01 python操作数据库pymysql 02 数据库之事务 03 mysql事务之savepoint 第49章 01 http协议之请求协议 02 http协议之响应协议 03 web框架的概念 04 做一个最简答web框架 05 MVC模式和MTV模式 06 django的一个简单应用 07 django静态文件之static 08 django的url控制系统 09 django的urlConf补充 第50章 01 django之视图函数的介绍 02 django视图之redirec 03 django模板之变量 04 django模板之过滤器 05 django模板之控制语句if和for循环 06 django模板之标签tag补充 07 django模板之自定义filter和simple_tag 08 django模板之继承标签extend和添加标签include 第51章 01 数据库表与表之间的一对多多对多的关系 02 Django的ORM的概念 03 ORM对单表的增删改操作 04 ORM查询API 05 模糊查询之万能的双下换线 第52章 01 上节知识回顾 02 ORM多表操作之一对多增加记录 03 ORM多表操作之一对多查询之对象查询 04 ORM多表操作之一对多查询之双下划线查询 05 ORM多表操作之多对多添加记录 06 ORM多表操作之多对多查询 07 ORM多表操作之F查询与Q查询 08 ORM的querySet集合对象的特性 第53章 01 admin介绍 02 alex首秀失败 03 自定义admin样式 04 admin补充 05 COOKIE介绍 06 COOKIE和SESSION配合使用 第54章 01 今日内容概要 02 Django内容回顾 03 Django请求生命周期之Http请求 04 Django请求生命周期之FBV和CBV 05 Django请求生命周期之CBV扩展 06 瞎扯淡 07 Django请求生命周期之响应内容 08 学员管理示例:数据库设计 09 学员管理示例:班级管理 10 学员管理示例:学员管理 第55章 01 Django的ORM基本操作补充之概要 02 Django的ORM基本操作补充之一对多 03 学员管理示例:编辑学生 04 Django的ORM基本操作补充之多对多 05 学员管理示例:为班级分配老师 06 初识Ajax以及简单应用 07 学员管理示例:Ajax删除学生 08 本节作业以及内容补充 第56章 01 上节内容回顾 02 创建Project以及表结构 03 基于BootStrap和FontAwesome制作页面 04 创建学生信息 05 删除学生信息 第57章 01 上节内容回顾 02 上节bug修复 03 编辑学生信息之前端功能 04 编辑学生信息之后台处理 05 以上内容总结 06 Ajax功能之dataType和traditional 第58章 01 今日内容概要 02 Ajax补充之serialize 03 分页功能介绍 04 分页基础知识 05 Django内置分页 06 扩展Django内置分页 07 自定义分页组件 08 DjangoForm组件初识 第59章 01 Form组件之生HTML标签 02 Form组件之详解字段 03 Form组件之常用标签示例 04 Form组件之动态绑定数据 第60章 Django序列化共6课 第61章 01 上节内容回顾 02 上传文件 03 制作上传按钮 04 Form组件上传文件 05 上传相关内容梳理 06 Model操作知识提问 07 Model操作概述 08 Model字段 09 Model连表字段参数详解 10 Model自定义多对多第三张表 11 强插一道面试题 12 Model连表操作梳理 13 多对多自关联 14 Model操作补充 15 再插两道JavaScript面试题 16 Model操作之select_related以及prefetch_related 17 Model操作知识梳理以及补充 18 JavaScript两道面试题讲解 第62章 01 今日内容概要 02 创建基本项目 03 XMLHttpRequest对象发送请求 04 XMLHttpRequest对象发送POST请求 05 Iframe伪造Ajax请求 06 Iframe伪造回调函数 07 上述内容整理 08 FormData对象以及Ajax文件上传 09 Iframe文件上传 10 Iframe上传文件 11 JSONP实现AJax跨域 12 内容整理以及CORS简单介绍 第63章 01 项目以及学习介绍 02 企业官网示例功能介绍 03 企业官网示例以及数据库表结构 04 企业官网示例作业要求 05 Toando源码基本基本介绍 第64章 01 组合搜索 02 瀑布流 03 瀑布流作业 第65章 01 今日内容概要 02 瀑布流作业讲解 03 保障系统需求分析 04 保障系统数据库设计 05 保障系统目录结构规定 06 阶段任务安排 第66章 01 保障系统主页功能讲解 02 保障系统主页分类和分页的实现 03 阶段作业:保障系统登录注册 第67章 01 保障系统之登录注册功能讲解 02 保障系统之网站验证码 03 保障系统之一个月免登陆 04 任务安排 第68章 01 保障系统之个人知识库主页 02 保障系统之个人知识库内容筛选 03 保障系统之文章最终页 04 保障系统之KindEditor基本使用 05 保障系统之下节预告 06 今日作业以及下节预告 第69章 01 后台管理功能介绍 02 后台管理页面布局 03 今日作业以及下节预告 第70章 01 后台管理之创建报障单 02 后台管理之处理报障单 03 后台管理之画图流程 04 后台管理之Highchart统计保障单 第71章 01 权限管理要求 02 权限管理数据库表设计 03 填充权限数据 04 作业:获取权限以及菜单信息 05 作业思路讲解 06 权限管理之获取用户权限信息 07 权限管理之获取用户菜单信息 08 权限管理之用户权限挂靠到菜单上 09 权限管理之处理菜单等级关系 第72章 01 上节内容概要以及标记应该显示的菜单 02 权限管理之递归生多级菜单 03 权限管理之标记当前以及激活菜单 04 权限管理之基本使用 05 权限管理之封装权限组件 06 下节预告 第73章 01 CMDB项目介绍 02 CMDB开发背景 03 CMDB开发目的 04 CMDB资产采集方式之agent 05 CMDB资产采集方式之ssh 06 CMDB资产采集方式之saltstack 07 CMDB资产采集方式之puppet 08 CMDB资产采集方式比较 09 CMDB资产采集内容梳理 10 CMDB资产采集功能实现之agent 11 CMDB资产采集功能实现之ssh 12 CMDB资产采集功能实现之saltstack 13 CMDB资产采集插件开发 14 内容回顾之面向对象继承 15 作业:基于配置文件加载插件 第74章 01 CMDB项目上节作业讲解 02 CMDB项目采集资产数据 03 知识拾遗之线程进程池 04 CMDB项目采集资产之日志记录 05 自定义JSON序列化类型 06 本节作业 第75章 01 基于requests模块汇报资产数据 02 基于requests模块汇报API验证 03 CMDB项目示例之API验证流程 04 CMDB项目之数据库表结构 05 CMDB项目之资产汇报并持久化 06 CMDB项目之持久化资产流程 07 本周作业 第76章 01 CMDB项目CURD组件之配置文件构造 02 CMDB项目CURD组件之神奇的单@符号 03 CMDB项目CURD组件之神奇的双@符号 04 CMDB项目CURD组件之自定义td属性 05 下节内容预习 第77章 01 CMDB项目CURD组件之进入编辑模式 02 CMDB项目CURD组件之全选取消反选和编辑模式 03 CMDB项目CURD组件之内容截图 04 CMDB项目CURD组件之进入编辑模式详细 05 CMDB项目CURD组件之属性中应用神奇的单@符号 06 CMDB项目CURD组件之退出编辑模式 07 CMDB项目CURD组件之更新数据 08 CMDB项目CURD组件之基于jQuery扩展封装组件 09 CMDB项目CURD组件之10分钟搞定页面基本操作 10 CMDB项目CURD组件之分页功能 11 CMDB项目CURD组件之搜索功能介绍 12 CMDB项目总结 第78章 01 剩余项目概览 02 CRM项目需求分析 04 CRM项目需求分析及架构设计 05 CRM项目表结构设计 第79章 01 CRM项目实战-前端页面布局 02 CRM项目实战-登录页面开发 04 CRM项目实战-动态菜单设计 05 CRM项目实战-kingadmin开发设计 06 CRM项目实战-kingadmin自动发现及注册功能开发 07 CRM项目实战-kingadmin model obj list页面开发 08 CRM项目实战-kingadmin 根据list_display配置生数据列表 09 CRM项目实战-kingadmin 多条件过滤功能开发 第80章 01 课前鸡汤 02 分页功能开发 03 分页功能优化 04 排序功能开发 05 分页 排序 筛选组合使用 06 搜索功能开发 第81章 01 CRM项目实战 - 动态modelform的实现 02 CRM项目实战 - 动态modelform 增加自定义样式 03 CRM项目实战 - 实现任意表的增删改查 04 CRM项目实战 - 只读字段的处理 05 CRM项目实战 - filter_horizontal的实现 第82章 01 CRM项目实战 - kingadmin m2m filter_horizontal优化 02 CRM项目实战 - kingadmin 对象删除功能开发 03 CRM项目实战 - kingadmin+admin+action功能开发 04 CRM项目实战 - csrf+token验证原理 第83章 01 CRM项目-kingadmin批量删除 02 CRM项目-学员报名流程开发 03 CRM项目-本次作业需求 第84章 01 SSO介绍 02 用户自定义认证 03 万能通用权限框架设计 04 万能通用权限框架设计-自定义权限钩子实现 第85章 01 堡垒机项目实战-需求讨论 02 堡垒机项目实战-表结构设计 第86章 01 堡垒机项目实战-用户交互程序开发 02 堡垒机项目实战-通过paramiko记录ssh会话记录 03 堡垒机项目实战-把parmaiko代码嵌入用户交互程序 04 堡垒机项目实战-在数据库里记录用户会话数据 第87章 01 堡垒机项目实战-前端模板的选择 02 堡垒机项目实战-web ssh的使用 03 堡垒机项目实战-批量任务的思路 04 堡垒机项目实战-批量任务的前端页面开发 第88章 01 堡垒机实战-批量命令后端开发 02 堡垒机实战-批量命令前端获取执行结果 03 堡垒机实战-批量文件分发 第89章 01 版本管理工具介绍 02 git基本使用 03 github使用 04 git 分支开发流程 05 restful规范介绍 06 restful api设计指南 第90章 01 rabbitmq 消息安全接收 02 rabbitmq 消息持久化 03 rabbitmq 消息订阅发布 04 rabbitmq 消息组播 05 rabbitmq 消息RPC 第91章 01 阶段课程安排介绍 02 爬虫介绍 03 初识爬虫之采集汽车资讯信息 04 requests和beautfulsoup模块基本使用 05 示例:自动登录抽屉新热榜 06 requests模块详细介绍 第92章 01 BeautifulSoup模块详细介绍 02 示例:自动登录知乎 03 示例:自动登录博客园 04 作业之开发Web微信 第93章 01 开发Web微信前戏 02 Web微信流程介绍 03 Web微信之用户扫码 04 Web微信之用户信息初始化 05 Web微信开发总结 第94章 01 Web微信之获取用户初始化信息并展示 02 Web微信之发送微信消息 03 Web微信之获取用户消息 04 Web微信开发总结 第95章 01 多线程实现并发请求 02 多进程实现并发请求 03 异步IO模块的使用 04 自定义异步IO模块前戏 05 自定义异步IO模块开发 06 自定义异步IO模块开发 第96章 01 Scrapy爬虫介绍 02 抽屉示例:初识Scrapy并获取新闻标题 03 抽屉示例:递归获取所有页码 04 抽屉示例:基于pipeline实现标题和URL持久化 第97章 01 Scrapy上节回顾 02 去除重复URL 03 pipeline补充 04 自动登录抽屉并点赞 05 scrapy框架扩展 06 配置文件 第98章 01 Scrapy配置之自动限速以及缓存 02 Scrapy之默认代理以及扩展代理 03 Scrapy之自定义Https证书 04 Scrapy配置之下载中间件 05 Scrapy配置之爬虫中间件 06 Scrapy配置之自定义scrapy命令 07 Scrapy源码流程简述 第99章 01 今日内容概要 02 Scrapy源码剖析前戏之Twisted使用 03 Scrapy源码剖析之自定义Low版框架 04 Scrapy源码剖析之自定义TinyScrapy框架 05 Scrapy源码剖析流程解析 第100章 01 Tornado学习概要 02 Tornado基本操作 03 Tornado自定义Session知识前戏 04 Tornado自定义Session 第101章 01 WebSocket介绍 02 WebSocket握手过程分析 03 基于Python实现WebSocket握手过程 04 位运算补充 05 WebSocket数据解析过程 06 基于Tornado的WebSocket实现聊天室 第102章 01 今日内容复习目标 02 异步非阻塞框架介绍 03 Tornado异步非阻塞功能使用 04 自定义Web框架(同步) 05 自定义Web框架支持同步和异步非阻塞 06 复习计划 第103章 01 缓存数据库介绍 02 redis string操作 03 redis hash 操作 04 redis list操作 05 redis 集合操作 06 redis 其他常用命令 07 redis 发布订阅 08 celery介绍和基本使用 09 celery在项目中使用 10 celery定时任务 11 celery在项目中使用 12 celery 在django中实现定时任务 第104章 就业指导 01 简历制作 02 如何面试 03 最后的鸡汤 04 Nginx+uWSGI+Django部署
本书也是一本介绍图像技术的教材,但它有不同的视点和方式。至少有两点值得指出: 首先,作者完全采用了一种问答的形式来组织和介绍相关内容。全书从头到尾共设计了472个问题(很多是由学生提出来的),有问有答,循序渐进,逐步将各种图像技术依次介绍。这种形式除能帮助课堂教学外,也很适合自学,因为每一段都解决了一个疑问,对自学者会很有吸引力。书中还有383个详细的示例,不仅方便读者学习,对讲授相关课程的教师也是一个很好的资源。 其次,作者对基本内容和高级内容进行了划分。但与许多教材中这两部分内容不相重合、后者是前者的延伸不同,该书两部分内容密切相关、后者对应前者的更深层次。从其安排来看,基本内容是主干,而高级内容(放在63个框内,且有161个配合示例,编号前均加B)则分布在书中与相关基本内容对应的位置。如果把基本内容看作一个主程序,那么这些高级内容部分就像子程序,随时可在需要处调用。 本书是一本篇幅较大的书,从结构上看,有7章共27节。全书共有编了号的图307个(其中10个为彩图)、表格25个、公式1892个。另外有一个约80篇参考文献的目录,以及可进行索引的近400个术语。全书译中文约合100万字(也包括图片、绘图、表格、公式等)。本书可作为已具有初步图像技术知识的相关专业高年级本科生和低年级研究生的专业基础课教材,也可供从事图像应用相关领域的科研技术人员参考。 译者基本忠实原书的结构和文字风格进行了翻译。为方便阅读,对书中问答中的问题按章节进行了编号。考虑到书中分散介绍了40多个具体算法,译文中归纳增加了一个算法列表。另外,对原书的索引,考虑中文的习惯进行了一些调整,并按中文次序进行了排列,希望能更好地服务于读者。 封面 -27 封底 -26 书名 -25 版权 -24 译者序 -19 前言 -18 目录 -16 第1章 导论 1 1.0.1 为什么要处理图像? 1 1.0.2 什么是一幅图像? 1 1.0.3 什么是一幅数字图像? 1 1.0.4 什么是一个光谱带? 1 1.0.5 为什么大多数图像处理算法都参照灰度图像进行,而实际中遇到的都是彩色图像? 2 1.0.6 一幅数字图像是如何形的? 2 1.0.7 如果一个传感器对应物理世界中的一个小片,如何能让多个传感器对应场景中的同一个小片? 2 1.0.8 什么是图像中一个像素位置亮度的物理含义? 3 1.0.9 为什么图像常用512×512,256×256,128×128 等来表示? 4 1.0.10 需要多少个比特以存储一幅图像? 5 1.0.11 什么决定了一幅图像的质量? 5 1.0.12 什么会使得图像模糊? 5 1.0.13 图像分辨率是什么含义? 5 1.0.14 “良好对比度”是什么含义? 7 1.0.15 图像处理的目的是什么? 8 1.0.16 如何进行图像处理? 8 1.0.17 图像处理中使用非线性操作符吗? 9 1.0.18 什么是线性操作符? 9 1.0.19 如何来定义线性操作符? 9 1.0.20 一个像装置的点扩散函数和一个线性操作符之间有什么联系? 9 1.0.21 一个线性操作符如何变换一幅图像? 9 1.0.22 点扩散函数的含义是什么? 10 B1.1 在连续空间中一个点源的正式定义 10 1.0.23 实际中如何描述一个线性操作符作用在一幅图像上的效果? 15 1.0.24 对一幅图像可使用多于一个线性操作符吗? 18 1.0.25 线性操作符使用的次序会导致结果的不同吗? 18 B1.2 因为矩阵运算次序是不能互换的,如果改变使用移不变线性操作符的次序会发生什么情况? 18 B1.3 什么是堆叠操作符? 24 1.0.26 对矩阵H结构上可分离性的假设意味着什么? 30 1.0.27 如何能将一个可分离变换写矩阵的形式? 31 1.0.28 可分离性假设的含义是什么? 32 B1.4 可分离矩阵方程的正式推导 32 1.0.29 本章要点 34 1.0.30 式(1.108)在线性图像处理中的意义是什么? 34 1.0.31 这本书有些什么内容呢? 36 第2章 图像变换 37 2.0.1 本章概况 37 2.0.2 如何能定义一幅基本图像? 37 2.0.3 什么是两个矢量的外积? 37 2.0.4 如何可将一幅图像展开矢量的外积? 37 2.0.5 如何选择矩阵hc和hr? 39 2.0.6 什么是酉矩阵? 39 2.0.7 酉矩阵的逆是什么样的? 39 2.0.8 如何能构建一个酉矩阵? 40 2.0.9 如何选择矩阵U和V以使表达g的比特数比f少? 40 2.0.10 什么是矩阵对角化? 40 2.0.11 可以对角化任何矩阵吗? 40 2.1 奇异值分解 40 2.1.1 如何能对角化一幅图像? 40 B2.1 可将任何图像都展开矢量的外积吗? 43 2.1.2 如何计算图像对角化所需的矩阵U,V和Λ.? 44 B2.2 如果矩阵ggT 的本征值为负会如何? 44 2.1.3 什么是对一幅图像的奇异值分解? 47 2.1.4 能将一幅本征图像分解多幅本征图像吗? 48 2.1.5 如何可用SVD 来近似一幅图像? 49 B2.3 SVD 的直观解释是什么? 49 2.1.6 什么是用SVD 近似一幅图像的误差? 50 2.1.7 如何能最小化重建误差? 51 2.1.8 任何图像都可以从某一组基本图像扩展出来吗? 56 2.1.9 什么是完备和正交的离散函数集合? 56 2.1.10 存在正交归一化离散值函数的完备集合吗? 57 2.2 哈尔、沃尔什和哈达玛变换 57 2.2.1 哈尔函数是如何定义的? 57 2.2.2 沃尔什函数是如何定义的? 57 B2.4 用拉德马赫函数定义的沃尔什函数 58 2.2.3 如何能用哈尔或沃尔什函数来生图像基? 58 2.2.4 实际中如何用哈尔或沃尔什函数构建图像变换矩阵? 58 2.2.5 哈尔变换的基元图像看起来是什么样的? 61 2.2.6 可以定义元素仅为+1 或.1 的正交矩阵吗? 65 B2.5 对沃尔什函数的排列方式 65 2.2.7 哈达玛/沃尔什变换的基图像看起来是什么样的? 67 2.2.8 沃尔什和哈尔变换的优点和缺点各是什么? 69 2.2.9 什么是哈尔小波? 70 2.3 离散傅里叶变换 71 2.3.1 傅里叶变换的离散形式(DFT )是怎样的? 71 B2.6 离散傅里叶反变换是什么样的? 72 2.3.2 如何能将傅里叶变换写矩阵形式? 72 2.3.3 用于DFT 的矩阵U是酉矩阵吗? 74 2.3.4 DFT 用来扩展图像的基元图像是什么样的? 76 2.3.5 为什么离散傅里叶变换比其他变换得到了更广泛的应用? 78 2.3.6 什么是卷积定理? 79 B2.7 如果一个函数是两个其他函数的卷积,它的DFT 与另两个函数的DFT 是什么关系? 79 2.3.7 如何显示一幅图像的离散傅里叶变换? 83 2.3.8 当图像旋转后其离散傅里叶变换将会怎么样? 84 2.3.9 当图像平移后其离散傅里叶变换将会怎么样? 85 2.3.10 图像的平均值与其DFT 有什么联系? 88 2.3.11 一幅图像放缩后其DFT 会如何变化? 89 B2.8 什么是快速傅里叶变换? 92 2.3.12 DFT 有哪些优点和缺点? 93 2.3.13 可以有实值的DFT 吗? 94 2.3.14 可以有纯虚部的DFT 吗? 96 2.3.15 一幅图像可以有纯实部或纯虚部值的DFT 吗? 101 2.4 偶对称离散余弦变换(EDCT) 101 2.4.1 什么是偶对称离散余弦变换? 101 B2.9 逆1-D 偶离散余弦变换的推导 106 2.4.2 2-D 时的逆偶余弦变换是怎样的? 107 2.4.3 用偶余弦变换扩展一幅图像时的基图像是怎样的? 107 2.5 奇对称离散余弦变换(ODCT) 109 2.5.1 什么是奇对称离散余弦变换? 109 B2.10 推导1-D 逆奇离散余弦变换 112 2.5.2 2-D 时的逆奇余弦变换是怎样的? 113 2.5.3 用奇余弦变换扩展一幅图像时的基图像是怎样的? 113 2.6 偶反对称离散正弦变换(EDST) 115 2.6.1 什么是偶反对称离散正弦变换? 115 B2.11 逆1-D 偶离散正弦变换的推导 118 2.6.2 2-D 时的逆偶正弦变换是怎样的? 119 2.6.3 用偶正弦变换扩展一幅图像时的基图像是怎样的? 119 2.6.4 如果在计算图像的EDST 前没有消除其均值会发生什么情况? 121 2.7 奇反对称离散正弦变换(ODST) 122 2.7.1 什么是奇反对称离散正弦变换? 122 B2.12 推导1-D 逆奇离散正弦变换 125 2.7.2 2-D 时的逆奇正弦变换是怎样的? 126 2.7.3 用奇正弦变换扩展一幅图像时的基图像是怎样的? 126 2.7.4 本章要点 128 第3章 图像的统计描述 130 3.0.1 本章概况 130 3.0.2 为什么需要对图像的统计描述? 130 3.1 随机场 130 3.1.1 什么是一个随机场? 130 3.1.2 什么是一个随机变量? 130 3.1.3 什么是一个随机试验? 131 3.1.4 如何用计算机做一个随机试验? 131 3.1.5 如何描述随机变量? 131 3.1.6 一个事件的概率是多少? 131 3.1.7 什么是一个随机变量的分布函数? 132 3.1.8 什么是一个随机变量取一个特殊值的概率? 133 3.1.9 什么是一个随机变量的概率密度函数? 133 3.1.10 如何描述许多随机变量? 134 3.1.11 n个随机变量互相之间有什么联系? 135 3.1.12 如何定义一个随机场? 138 3.1.13 如何能将在同一个随机场中的两个随机变量联系在一起? 139 3.1.14 如何能将在两个不同随机场中的两个随机变量联系在一起? 140 3.1.15 如果仅有系综图像中的一幅图像,可以计算期望值吗? 142 3.1.16 何时一个随机场相对于均值均匀? 142 3.1.17 何时一个随机场相对于自相关函数均匀? 142 3.1.18 如何计算一个随机场的空间统计? 143 3.1.19 实际中如何计算一幅图像随机场的空间自相关函数? 143 3.1.20 什么时候一个随机场相对于均值遍历? 144 3.1.21 什么时候一个随机场相对于自相关函数遍历? 144 3.1.22 什么是遍历性的含义? 145 B3.1 遍历性,模糊逻辑和概率理论 146 3.1.23 如何可以构建一个基元图像的基,从而用最优的方式描述完整的图像集合? 146 3.2 卡洛变换 147 3.2.1 什么是卡洛变换? 147 3.2.2 为什么一个图像集合的自协方差矩阵对角化定义了描述集合中图像所需的基? 147 3.2.3 如何变换一幅图像以使其自协方差矩阵为对角的? 149 3.2.4 如果系综相对于自相关是平稳的,一组图像的系综自相关矩阵的形式是怎么样的? 154 3.2.5 如何根据一幅图像的矢量表达,从1-D 自相关函数得到其2-D 自相关矩阵? 155 3.2.6 如何能变换图像使其自相关矩阵为对角的? 157 3.2.7 实际中如何计算一幅图像的卡洛变换? 158 3.2.8 如何计算系综图像的卡洛(K-L)变换? 158 3.2.9 遍历性假设切合实际吗? 158 B3.2 当一幅图像被表示一个矢量时,如何计算该图像的空间自相关矩阵? 159 3.2.10 期望变换后图像的均值真正为0 吗? 162 3.2.11 如何能用一幅图像的卡洛变换来近似该图像? 162 3.2.12 将一幅图像的卡洛展开截断而近似该图像的误差是什么? 163 3.2.13 用卡洛变换展开一幅图像的基图像是什么样的? 163 B3.3 使用卡洛变换近似一幅图像的误差是多少? 167 3.3 独立分量分析 173 3.3.1 什么是独立分量分析(ICA)? 173 3.3.2 什么是鸡尾酒会问题? 174 3.3.3 如何解鸡尾酒会问题? 174 3.3.4 中心极限定理说些什么? 174 3.3.5 当讨论鸡尾酒会问题时说“x1(t)的采样比s1(t)或s2(t)的采样更趋向于高斯分布”是什么含义?是谈论x1(t)的时间采样还是谈论在给定时间x1(t)的所有可能版本? 174 3.3.6 如何测量非高斯性? 177 3.3.7 如何计算一个随机变量的矩? 178 3.3.8 峰度是如何定义的? 178 3.3.9 负熵是如何定义的? 180 3.3.10 熵是如何定义的? 180 B3.4 在所有方差相同的概率密度函数中,高斯函数具有最大的熵 182 3.3.11 如何计算负熵? 182 B3.5 用矩对负熵的近似推导 186 B3.6 用非二次函数近似负熵 187 B3.7 选择非二次函数以近似负熵 190 3.3.12 如何使用中心极限定理来解鸡尾酒会问题? 194 3.3.13 ICA 如何用于图像处理? 194 3.3.14 如何搜索独立分量? 195 3.3.15 如何白化数据? 196 3.3.16 如何从白化数据中选取独立分量? 196 B3.8 拉格朗日乘数法如何工作? 197 B3.9 如何选择一个能最大化负熵的方向? 198 3.3.17 实际中如何在图像处理中进行ICA? 202 3.3.18 如何将ICA 用于信号处理? 208 3.3.19 什么是独立分量分析的主要特点? 213 3.3.20 将ICA 应用于图像处理和信号处理有什么不同? 213 3.3.21 本章要点 213 第4章 图像增强 216 4.0.1 什么是图像增强? 216 4.0.2 如何能增强一幅图像? 216 4.0.3 什么是线性滤波器? 216 4.1 线性滤波器理论基础 216 4.1.1 如何定义一个2-D 滤波器? 216 4.1.2 频率响应函数和滤波器的单位采样响应是如何联系的? 217 4.1.3 为什么关心在实域中的滤波器函数? 217 4.1.4 h(k, l)需要满足什么条件才能用作卷积滤波器? 217 B4.1 2-D 理想低通滤波器的单位采样响应是什么样的? 218 4.1.5 1-D 和2-D 理想低通滤波器之间有什么联系? 221 4.1.6 如何可在实域中实现无穷延伸的滤波器? 222 B4.2 z-变换 222 4.1.7 可以为了方便而在实域中直接定义一个滤波器吗? 227 4.1.8 可以在实域中定义一个滤波器,但在频域中没有旁瓣吗? 228 4.2 消减高频噪声 228 4.2.1 一幅图像中会有什么种类的噪声? 228 4.2.2 什么是脉冲噪声? 228 4.2.3 什么是高斯噪声? 229 4.2.4 什么是加性噪声? 229 4.2.5 什么是乘性噪声? 229 4.2.6 什么是齐次噪声? 229 4.2.7 什么是零均值噪声? 229 4.2.8 什么是有偏噪声? 229 4.2.9 什么是独立噪声? 229 4.2.10 什么是不相关噪声? 230 4.2.11 什么是白噪声? 230 4.2.12 零均值不相关噪声与白噪声间有什么联系? 230 4.2.13 什么是iid 噪声? 231 4.2.14 可能有不是独立同分布的白噪声吗? 232 B4.3 一个随机变量的函数的概率密度函数 235 4.2.15 为什么噪声常与高频有关? 238 4.2.16 如何对待乘性噪声? 239 B4.4 德尔塔函数的傅里叶变换 239 B4.5 维纳-辛钦定理 239 4.2.17 对高斯噪声的假设在图像中合理吗? 240 4.2.18 如何消除散粒噪声? 240 4.2.19 什么是排序滤波器? 240 4.2.20 什么是中值滤波器? 240 4.2.21 什么是最频值滤波? 241 4.2.22 如何减小高斯噪声? 241 4.2.23 可以像加权平均滤波器那样对中值滤波器和最频值滤波器加权吗? 246 4.2.24 可以使用第2 章中的线性方法来对图像滤波吗? 247 4.2.25 如何处理图像中的混合噪声? 248 4.2.26 能在平滑图像时避免模糊它吗? 248 4.2.27 什么是边缘自适应平滑? 249 B4.6 有效计算局部方差 250 4.2.28 均移算法是如何工作的? 250 4.2.29 什么是非各向同性扩散? 252 B4.7 尺度空间和热力方程 252 B4.8 梯度,散度和拉普拉斯 253 B4.9 对一个积分相对于一个参数求导 255 B4.10 从热力学方程到非各向同性扩散算法 255 4.2.30 实际中如何实现非各向同性扩散? 256 4.3 消减低频干扰 257 4.3.1 什么时候会产生低频干扰? 257 4.3.2 变化的照明在高频也有体现吗? 257 4.3.3 还有哪些其他情况需要减少低频? 258 4.3.4 理想高通滤波器是什么样的? 258 4.3.5 如何用非线性滤波器来增强图像中的小细节? 262 4.3.6 什么是非锐化掩膜? 262 4.3.7 如何局部地使用非锐化掩膜算法? 263 4.3.8 局部自适应非锐化掩膜是如何工作的? 264 4.3.9 视网膜皮层理论算法是如何工作的? 265 B4.11 用视网膜皮层理论算法对哪些灰度值拉伸的最多? 266 4.3.10 如何增强受到变化照明影响的图像? 267 4.3.11 什么是同态滤波? 267 4.3.12 什么是光度立体视觉? 268 4.3.13 平场校正是什么意思? 268 4.3.14 平场校正是如何进行的? 268 4.4 直方图操作 269 4.4.1 什么是一幅图像的直方图? 269 4.4.2 什么时候需要改变图像的直方图? 269 4.4.3 如何改变一幅图像的直方图? 269 4.4.4 什么是直方图操作? 270 4.4.5 什么会影响一幅图像的语义信息内容? 270 4.4.6 如何能执行直方图操作并同时保留图像的信息内容? 270 4.4.7 什么是直方图均衡化? 271 4.4.8 为什么直方图均衡化程序一般并不产生具有平坦直方图的图像? 271 4.4.9 实际中如何进行直方图均衡化? 271 4.4.10 可能得到具有完全平坦直方图的图像吗? 273 4.4.11 如果不希望图像具有平坦的直方图应如何做? 273 4.4.12 实际中如何进行直方图双曲化? 273 4.4.13 如何结合随机加法进行直方图双曲化? 274 4.4.14 为什么在直方图均衡化外还需要其他处理? 275 4.4.15 如果图像具有不均匀的对比度怎么办? 275 4.4.16 可以在增加纯粹亮度过渡区的对比度时避免损坏平坦结构吗? 276 4.4.17 如何能通过仅拉伸纯粹亮度过渡区的灰度值来增强一幅图像? 277 4.4.18 实际中如何执行对的图像增强? 278 4.5 通用去模糊算法 280 4.5.1 最频值滤波如何帮助去图像模糊? 281 4.5.2 可以在最频值滤波器中使用边缘自适应窗吗? 282 4.5.3 如何可使用均移作为通用的去模糊算法? 283 4.5.4 什么是滑降对比度增强? 283 4.5.5 实际中如何进行滑降对比度增强? 284 4.5.6 本章要点 287 第5章 图像恢复 290 5.0.1 什么是图像恢复? 290 5.0.2 为什么图像需要恢复? 290 5.0.3 什么是图像配准? 290 5.0.4 图像恢复是如何进行的? 290 5.0.5 图像增强和图像恢复的区别是什么? 290 5.1 齐次线性图像恢复:逆滤波 290 5.1.1 如何对齐次线性图像退化建模? 290 5.1.2 图像恢复问题可如何解决? 291 5.1.3 如何可以获得退化过程的频率响应函数H.(u, v)的信息? 291 5.1.4 如果已知退化过程的频率响应函数,解决图像恢复的问题是否很容易? 298 5.1.5 在频率响应函数为零处,频率会发生什么情况? 299 5.1.6 频率响应函数和图像的零点总相同吗? 299 5.1.7 如何避免噪声的放大? 299 5.1.8 实际中如何使用逆滤波? 301 5.1.9 可以定义一个自动考虑模糊图像中噪声的滤波器吗? 306 5.2 齐次线性图像恢复:维纳滤波 307 5.2.1 如何能将图像恢复问题描述一个最小均方误差估计问题? 307 5.2.2 图像恢复问题有线性最小均方解吗? 307 5.2.3 什么是图像恢复问题的线性最小均方误差解? 308 B5.1 最小均方误差解 308 B5.2 从图像相关函数的傅里叶变换到它们的频谱密度 313 B5.3 维纳滤波器的推导 313 5.2.4 维纳滤波和逆滤波之间有什么联系? 314 5.2.5 如何确定噪声场的频谱密度? 315 5.2.6 如果不知道未知图像的统计特性,还有可能使用维纳滤波器吗? 315 5.2.7 实际中如何使用维纳滤波? 316 5.3 齐次线性图像恢复:约束矩阵求逆 319 5.3.1 如果假设退化过程是线性的,为什么要使用卷积定理而不通过解线性方程组来反演其效果? 319 5.3.2 式(5.146 )看起来非常直观,为什么还需要考虑其他方法? 320 5.3.3 有可以对矩阵H求逆的方法吗? 320 5.3.4 什么时候矩阵块轮换? 321 5.3.5 什么时候矩阵轮换? 321 5.3.6 为什么块轮换矩阵可以方便地求逆? 321 5.3.7 什么是一个轮换矩阵的本征值和本征矢量? 321 5.3.8 有关一个矩阵本征值和本征矢量的知识如何帮助对矩阵的求逆? 322 5.3.9 如何确定描述线性退化过程的矩阵H是块轮换的? 326 5.3.10 如何对角化一个块轮换矩阵? 327 B5.4 式(5.189)的证明 327 B5.5 矩阵H的转置是怎么样的? 328 5.3.11 如何克服矩阵求逆对噪声的极度敏感性? 334 5.3.12 如何将约束结合进矩阵的求逆? 335 B5.6 约束矩阵求逆滤波器的推导 338 5.3.13 维纳滤波器和约束矩阵求逆滤波器有什么联系? 339 5.3.14 实际中如何使用约束矩阵求逆? 341 5.4 非齐次线性图像恢复:旋转变换 344 5.4.1 如何对线性但非齐次的图像退化建模? 344 5.4.2 当退化矩阵不是轮换矩阵时如何使用约束矩阵求逆? 351 5.4.3 如果矩阵H非常大不能求逆怎么办? 353 B5.7 用于对大线性方程组求逆的雅克比法 354 B5.8 用于对大线性方程组求逆的高斯-赛德尔法 356 5.4.4 在例5.41、例5.43、例5.44 和例5.45 中构建的矩阵H满足使用高斯-赛德尔法或雅克比法的条件吗? 356 5.4.5 如果矩阵H不满足高斯-赛德尔法所需的条件会怎么样? 357 5.4.6 实际中如何使用梯度下降算法? 358 5.4.7 如果不知道矩阵H怎么办? 359 5.5 非线性图像恢复:MAP 估计 359 5.5.1 MAP 估计是什么意思? 359 5.5.2 如何将图像恢复问题公式化为一个MAP 估计问题? 360 5.5.3 给定退化模型和退化图像如何选择最可能的恢复像素值的组合? 360 B5.9 概率:先验,后验,条件 360 5.5.4 代价函数的最小值是唯一的吗? 361 5.5.5 如何从能最小化代价函数的所有可能解中选出一个来? 361 5.5.6 可以对一个组态x结合后验和先验概率吗? 362 B5.10 巴斯维尔定理 364 5.5.7 一般如何模型化需要最小化以恢复图像的代价函数? 366 5.5.8 当模型化联合概率密度函数时,温度参数并不改变概率取最大值的组态,那为什么要使用它? 367 5.5.9 温度参数是如何在解空间中允许聚焦或离焦的? 367 5.5.10 如何模型化组态的先验概率? 368 5.5.11 如果图像具有真正的不连续性会发生什么情况? 368 5.5.12 如何最小化代价函数? 369 5.5.13 如何从前一个解构建一个可能的新解? 369 5.5.14 如何知道何时停止迭代? 371 5.5.15 在模拟退火中如何减小温度? 371 5.5.16 实际中如何利用重要中心采样器进行模拟退火? 371 5.5.17 实际中如何利用吉伯斯采样器进行模拟退火? 372 B5.11 如何根据给定的概率密度函数取出一个随机数? 373 5.5.18 为什么模拟退火很慢? 375 5.5.19 如何能加快模拟退火? 375 5.5.20 如何能粗化组态空间? 376 5.6 几何图像恢复 376 5.6.1 如何会产生几何失真? 376 5.6.2 为什么镜头会导致失真? 377 5.6.3 如何恢复一幅几何失真的图像? 377 5.6.4 如何执行空间变换? 377 5.6.5 如何模型化镜头失真? 377 5.6.6 如何模型化非均匀失真? 379 5.6.7 如何确定空间变换模型的参数? 379 5.6.8 为什么需要灰度插值? 379 B5.12 检测线的哈夫变换 382 5.6.9 本章要点 386 第6章 图像分割和边缘检测 388 6.0.1 本章概况 388 6.0.2 图像分割和边缘检测的准确目的是什么? 388 6.1 图像分割 388 6.1.1 如何将一幅图像分均匀的区域? 388 6.1.2 “标记”一幅图像是什么含义? 388 6.1.3 如果直方图中的谷没有被很明确地定义应怎么办? 389 6.1.4 如何最小化误分像素的数量? 389 6.1.5 如何选择最小误差阈值? 390 6.1.6 什么是目标和背景像素正态分布时的最小误差阈值? 393 6.1.7 什么是最小误差阈值方程两个解的含义? 394 6.1.8 如何估计代表目标和背景的高斯概率密度函数的参数? 395 6.1.9 最小误差阈值化方法的缺点是什么? 398 6.1.10 有能不依赖于目标和背景像素分布模型的方法吗? 398 B6.1 大津方法的推导 399 6.1.11 大津方法有什么缺点吗? 401 6.1.12 如何能对在照明变化的场合下获得的图像取阈值? 402 6.1.13 如果根据lnf(x, y)的直方图来对图像取阈值,是根据像表面的反射性质来阈值化吗? 402 B6.2 两个随机变量和的概率密度函数 402 6.1.14 如何解决照明变化情况下直接阈值化算法会失败的问题? 403 6.1.15 如果直方图只有一个峰应怎么办? 404 6.1.16 灰度阈值化方法有什么缺点吗? 405 6.1.17 如何分割包含不均匀但感觉均匀区域的图像? 406 6.1.18 可以通过考虑像素的空间接近度来改进直方图化方法吗? 408 6.1.19 有考虑像素空间接近度的分割方法吗? 408 6.1.20 如何选择种子像素? 408 6.1.21 分裂和合并法如何工作? 409 6.1.22 什么是形态学图像重建? 409 6.1.23 如何用形态学图像重建确定水线算法所需的种子? 411 6.1.24 如何计算梯度幅度图? 411 6.1.25 在用g对f的形态学重建中,为生模板g而从f中减去的数起什么作用? 412 6.1.26 结构元素的形状和尺寸在用g对f的形态学重建中起什么作用? 413 6.1.27 如何使用梯度幅度图像以帮助用水线算法分割图像? 419 6.1.28 在水线算法中使用梯度幅度图像有什么缺点吗? 419 6.1.29 可以用滤波来分割图像吗? 424 6.1.30 如何使用均移算法去分割图像? 424 6.1.31 什么是一个图? 425 6.1.32 能用一个图表示一幅图像吗? 425 6.1.33 如何借助一幅图像的图表达来分割它? 425 6.1.34 什么是归一化割算法? 426 B6.3 归一化割算法作为一个本征值问题 426 B6.4 如何最小化瑞利商? 433 6.1.35 实际中如何使用归一化图割算法? 435 6.1.36 与考虑像素间的相似性相对,可以通过考虑区域间的不相似性来分割图像吗? 436 6.2 边缘检测 436 6.2.1 如何测量相邻像素间的不相似性? 436 6.2.2 什么是最小可选的窗? 437 6.2.3 当图像中有噪声时会怎么样? 438 B6.5 如何选择用于边缘检测的3×3 模板的权重? 439 6.2.4 参数K的最优值是什么? 440 B6.6 索贝尔滤波器的推导 440 6.2.5 在通常情况下,如何确定一个像素是否为边缘像素呢? 444 6.2.6 实际中如何执行线性边缘检测? 445 6.2.7 索贝尔模板对所有图像都合用吗? 448 6.2.8 如果由于图像中有很显著的噪声而需要一个较大的模板, 如何选择模板的权重? 448 6.2.9 可以使用对边缘的最优滤波器以一种最优方式检测图像中的直线吗? 450 6.2.10 什么是阶跃边缘和直线间的基本差别? 450 B6.7 将一个随机噪声与一个滤波器卷积 454 B6.8 将一个有噪边缘信号与一个滤波器卷积后的信噪比计算 455 B6.9 良好局部性测度的推导 455 B6.10 虚假极值计数的推导 457 6.2.11 边缘检测能导致图像分割吗? 458 6.2.12 什么是滞后边缘连接? 458 6.2.13 滞后边缘连接能导致封闭的边缘轮廓吗? 459 6.2.14 什么是拉普拉斯-高斯边缘检测法? 460 6.2.15 有可能同时检测边缘和直线吗? 461 6.3 相位一致性和单基因信号 461 6.3.1 什么是相位一致性? 461 6.3.2 什么是1-D 数字信号的相位一致性? 462 6.3.3 如何能借助相位一致性检测直线和边缘? 462 6.3.4 为什么相位一致性与信号的局部能量最大值重合? 462 6.3.5 如何测量相位一致性? 463 6.3.6 能否简单地平均谐波分量的相位来测量相位一致性? 463 6.3.7 实际中如何测量相位一致性? 465 6.3.8 如何测量信号的局部能量? 466 6.3.9 为什么需要与两个基信号卷积以得到局部信号在基信号上的投影? 467 B6.11 连续傅里叶变换的一些性质 470 6.3.10 如果只需计算信号的局部能量,为什么不在实域的局部窗口中用帕赛瓦尔定理来计算? 477 6.3.11 如何决定使用哪个滤波器计算局部能量? 478 6.3.12 实际中如何计算一个1-D 信号的局部能量? 481 6.3.13 如何能判断局部能量的最大值对应一个对称或反对称的特征? 481 6.3.14 如何计算2-D 时的相位一致性和局部能量? 487 6.3.15 什么是解析信号? 487 6.3.16 如何推广希尔伯特变换到2-D? 487 6.3.17 如何计算一幅图像的里斯变换? 487 6.3.18 如何使用单基因信号? 488 6.3.19 如何选择要使用的偶滤波器? 488 6.3.20 本章要点 493 第7章 多光谱图像处理 495 7.0.1 什么是多光谱图像? 495 7.0.2 多光谱图像有哪些特殊的问题? 495 7.0.3 本章概述 496 7.1 多光谱图像处理 496 7.1.1 为什么会希望用其他带来替换多光谱图像的带? 496 7.1.2 一般如何从多光谱图像构建一幅灰度图像? 496 7.1.3 如何从一幅包含最大量图像信息的多光谱图像构建单个带? 496 7.1.4 什么是主分量分析? 497 B7.1 如何测量信息? 497 7.1.5 实际中如何进行主分量分析? 498 7.1.6 使用一幅图像的主分量而不是原始带的优点是什么? 499 7.1.7 使用一幅图像的主分量而不是原始带的缺点是什么? 499 7.1.8 如果对其他分量不感兴趣,有可能仅计算出一幅多光谱图像的第1 个主分量吗? 504 B7.2 用于估计一个矩阵的最大本征值的功率法 504 7.1.9 什么是光谱恒常性问题? 506 7.1.10 什么影响一个像素的光谱标记? 506 7.1.11 什么是反射函数? 506 7.1.12 像几何影响一个像素的光谱标记吗? 506 7.1.13 像几何如何影响一个像素所接收的光能量? 506 7.1.14 如何对朗伯表面的像过程建模? 507 7.1.15 如何能消除一个像素的光谱对像几何的依赖性? 507 7.1.16 如何能消除一个像素的光谱对照明源光谱的依赖性? 507 7.1.17 如果有不止一个照明源会发生什么情况? 508 7.1.18 如何能消除一个像素的光谱标记对像几何和照明光谱的依赖性? 508 7.1.19 如果像表面不是由相同材料构时怎么办? 509 7.1.20 什么是光谱分解问题? 509 7.1.21 如何解决线性光谱分解问题? 510 7.1.22 可以对纯材料使用光谱库吗? 510 7.1.23 当已知纯分量的光谱时如何解线性光谱分解问题? 510 7.1.24 有可能不计算矩阵Q的逆吗? 513 7.1.25 如果库光谱是在与混合光谱不同的波长进行的采样会发生什么问题? 513 7.1.26 如果不知道在混合物质中有哪些纯物质可能存在会发生什么问题? 514 7.1.27 如果不知道纯材料的光谱如何解线性光谱分解问题? 515 7.2 彩色视觉的物理学和心理物理学 518 7.2.1 什么是彩色? 518 7.2.2 从工程的观点看彩色有什么感兴趣的地方? 518 7.2.3 哪些因素影响从一个暗物体感知到的彩色? 519 7.2.4 什么导致日光的变化? 520 7.2.5 如何能模型化日光的变化? 520 B7.3 标准光源 522 7.2.6 什么是天然材料的观测变化? 523 7.2.7 一旦光线到达传感器会发生什么情况? 529 7.2.8 一个传感器有可能对不同的材料产生相同的记录吗? 530 7.2.9 人类视觉系统是如何实现彩色恒常性的? 531 7.2.10 彩色视觉的三基色理论讲了什么? 531 7.2.11 用什么来定义一个彩色系统? 531 7.2.12 三刺激值是如何确定的? 531 7.2.13 所有的单色参考刺激都可以通过简单调节基色光的强度来匹配吗? 532 7.2.14 所有人都需要相同强度的基色光以匹配同样的单色参考刺激吗? 533 7.2.15 谁是具有正常彩色视觉的人? 533 7.2.16 什么是最常使用的彩色系统? 533 7.2.17 什么是CIE-RGB 彩色系统? 533 7.2.18 什么是XYZ 彩色系统? 534 7.2.19 如何在3-D 空间中表达彩色? 534 7.2.20 如何在2-D 空间中表达彩色? 534 7.2.21 什么是色度图? 535 B7.4 一些3-D 几何中有用的定理 536 7.2.22 CIE-RGB 彩色系统中的色度图是什么样的? 538 7.2.23 人的大脑是如何感知彩色强度的? 539 7.2.24 在CIE-RGB 彩色系统中是如何定义零发光线的呢? 539 7.2.25 XYZ 彩色系统是如何定义的? 540 7.2.26 XYZ 彩色系统中的色度图是什么样的? 542 7.2.27 实际中可能用虚的基色生一个彩色系统吗? 542 7.2.28 如何模型化一个特定人观察彩色的方式? 542 7.2.29 如果不同的观察者需要不同强度的基色光以看到白色,如何在不同观察者间校正彩色? 543 7.2.30 如何使用参考白色? 543 7.2.31 sRGB 彩色系统是如何定义的? 544 7.2.32 如果将一个彩色的所有三刺激值都翻倍它会变化吗? 545 7.2.33 用彩色系统的语言对一个彩色的描述与用日常语言的描述有什么联系? 545 7.2.34 如何比较彩色? 545 7.2.35 什么是一个测度? 545 7.2.36 能用欧氏测度来测量两个彩色的差别吗? 546 7.2.37 哪些是感知均匀的彩色空间? 546 7.2.38 Luv彩色空间是如何定义的? 546 7.2.39 Lab彩色空间是如何定义的? 547 7.2.40 如何选择(Xn, Yn, Zn)的值? 547 7.2.41 如何从Luv的值计算RGB 的值? 548 7.2.42 如何从Lab的值计算RGB 的值? 548 7.2.43 如何测量感知的饱和度? 549 7.2.44 如何测量饱和度感知的差别? 549 7.2.45 如何测量感知的色调? 549 7.2.46 色调角是如何定义的? 549 7.2.47 如何测量色调感知的差别? 550 7.2.48 什么影响人感知彩色的方式? 551 7.2.49 彩色的时间上下文是什么意思? 551 7.2.50 彩色的空间上下文是什么意思? 551 7.2.51 为什么当谈论空间频率时与距离有关系? 552 7.2.52 如何解释对彩色感知的空间依赖性? 552 7.3 实用彩色图像处理 553 7.3.1 对人类彩色视觉的研究如何影响进行图像处理的方式? 553 7.3.2 感知均匀彩色空间实际中有多感知均匀? 553 7.3.3 应如何将图像的RGB 值转换到Luv或Lab彩色空间中? 553 7.3.4 在图像处理应用中如何测量色调和饱和度? 557 7.3.5 如何能在图像处理中模仿彩色感知的空间依赖性? 561 7.3.6 同色异谱现象与图像处理有什么联系? 563 7.3.7 如何解决一个工业监视应用中的同色异谱问题? 564 7.3.8 什么是蒙特卡洛方法? 565 7.3.9 如何从多光谱图像中消除噪声? 566 7.3.10 如何对矢量排序? 566 7.3.11 如何处理多光谱图像中的混合噪声? 567 7.3.12 如何增强一幅彩色图像? 568 7.3.13 如何恢复多光谱图像? 572 7.3.14 如何压缩彩色图像? 572 7.3.15 如何分割多光谱图像? 572 7.3.16 实际中如何使用k-均值聚类方法? 573 7.3.17 如何提取多光谱图像的边缘? 574 7.3.18 本章要点 574 附录A 算法列表 576 附录B 参考文献注解 578 附录C 参考文献 580 附录D 索引 584
作  者:吴向军 等 著 丛 书 名:普通高等教育“十一五”国家级规划教材 出 版 社:高等教育出版社 ISBN:9787040279498 出版时间:2009-11-01 版  次:2 页  数:386 装  帧:平装 开  本:16开 内容简介   《汇编语言程序设计(第2版)》以16位/32位Intel CPU为介绍对象,以并行推进的方式介绍这两类CPU的指令系统,以达到相互参考、对照的效果。另外,本书还介绍了常用的编程环境和调试工具的使用方法。   在内容组织上,把学习高级语言的习惯和汇编语言的特点相结合,按“硬件资源—变量定义一指令系统—编程”的顺序安排相应的内容。结合MASM V6.1x的编程环境,使汇编语言源程序具有一定的高级语言特点和结构。书中用一章来介绍浮点数的表示、浮点运算指令和编程方法,使读者对高级语言中的各种数据类型与低层实现之间的联系有一个更清晰的认识。还用一章介绍了用汇编语言编写Windows应用程序的基本方法,为拓宽汇编语言的应用领域做一点尝试。   书中附有一些基本的编程辅助信息,这些信息包括各种按键的码值和显示颜色信息等。在Windows应用程序的编写部分,附录中给出了编程中所用到的一些常量列表和函数功能的说明。这些辅助信息可为编程带来一定的方便,也可作为常用手册以待查阅。   《汇编语言程序设计(第2版)》可作为计算机学科的本科生、大专生及相近专业学生的教材,也可作为相关工程技术人员的学习资料或参考书。 目录 第一章 预备知识 1.1 汇编语言的由来及其特点 1.1.1 机器语言 1.1.2 汇编语言 1.1.3 汇编程序 1.1.4 汇编语言程序的主要特点 1.1.5 汇编语言的应用领域 1.2 数据的表示和类型 1.2.1 数值数据的表示 1.2.2 非数值数据的表示 1.2.3 基本数据类型 习题 第二章 CPU资源和存储器 2.1 寄存器组 2.1.1 寄存器组 2.1.2 通用寄存器 2.1.3 段寄存器 2.1.4 专用寄存器 2.2 存储器的管理模式 2.2.1 16位微机的内存管理模式 2.2.2 32位微机的内存管理模式 习题 第三章 操作数的寻址方式 3.1 立即寻址方式 3.2 寄存器寻址方式 3.3 直接寻址方式 3.4 寄存器间接寻址方式 3.5 寄存器相对寻址方式 3.6 基址加变址寻址方式 3.7 相对基址加变址寻址方式 3.8 32位地址的寻址方式 习题 第四章 标识符和表达式 4.1 标识符 4.2 简单内存变量的定义 4.2.1 内存变量定义的一般形式 4.2.2 字节变量 4.2.3 字变量 4.2.4 双字变量 4.2.5 六字节变量 4.2.6 八字节变量 4.2.7 十字节变量 4.2.8 浮点类型变量 4.3 调整偏移量伪指令 4.3.1 偶对齐伪指令EVEN 4.3.2 对齐伪指令ALIGN 4.3.3 调整偏移量伪指令ORG 4.3.4 偏移量计数器的值 4.4 复合内存变量的定义 4.4.1 重复说明符DUP 4.4.2 结构类型的定义 4.4.3 联合类型的定义 4.4.4 记录类型的定义 4.4.5 数据类型的自定义 4.5 标号 4.6 内存变量和标号的属性 4.6.1 段属性操作符 4.6.2 偏移量属性操作符 4.6.3 类型属性操作符 4.6.4 长度屑性操作符 4.6.5 容量属性操作符 4.6.6 强制属性操作符 4.6.7 存储单元别名操作符 4.7 表达式 4.7.1 进制伪指令RADIX 4.7.2 数值表达式 4.7.3 地址表达式 4.8 符号定义语句 4.8.1 等价语句 4.8.2 等号语句 4.8.3 符号名定义语句 习题 第五章 微机CPU的指令系统 5.1 汇编语言指令格式 5.1.1 指令格式 5.1.2 指令的几个属性 5.2 指令系统 5.2.1 数据传送指令 5.2.2 标志位操作指令 5.2.3 算术运算指令 5.2.4 逻辑运算指令 5.2.5 移位操作指令 5.2.6 位操作指令 5.2.7 比较运算指令 5.2.8 循环指令 5.2.9 转移指令 5.2.10 条件设置字节指令 5.2.11 字符串操作指令 5.2.12 ASCⅡ-BCD码运算调整指令 5.2.13 处理器指令 习题 第六章 程序的基本结构 6.1 源程序的基本组 6.1.1 段的定义 6.1.2 段寄存器的说明语句 6.1.3 堆栈段的说明 6.1.4 源程序的结构 6.2 程序的基本结构 6.2.1 顺序结构 6.2.2 分支结构 6.2.3 循环结构 6.3 段的基本属性 6.3.1 对齐类型(ALIGN) 6.3.2 组合类型(COMBINE) 6.3.3 类别(CLASS) 6.3.4 段组(GROUP) 6.4 简化的段定义 6.4.1 存储模式说明伪指令 6.4.2 简化段定义伪指令 6.4.3 简化段段名的引用 6.5 源程序的辅助说明伪指令 习题 第七章、子程序和库 7.1 子程序的定义 7.2 子程序的调用和返回指令 7.2.1 调用指令 7.2.2 返回指令 7.3 子程序的参数传递 7.3.1 寄存器传递参数 7.3.2 约定存储单元传递参数 7.3.3 堆栈传递参数 7.4 寄存器的保护与恢复 7.5 子程序的完全定义 7.5.1 子程序完全定义格式 7.5.2 子程序的位距 7.5.3 子程序的语言类型 7.5.4 子程序的可见性 7.5.5 子程序的“起始”和“结束”操作 7.5.6 寄存器的保护和恢复 7.5.7 子程序的参数传递 7.5.8 子程序的原型说明 7.5.9 子程序的调用伪指令 7.5.10 局部变量的定义 7.6 子程序库 7.6.1 建立库文件命令 7.6.2 建立库文件举例 7.6.3 库文件的应用 7.6.4库文件的好处 习题 第八章 输入输出和中断 8.1 输入输出的基本概念 8.1.1 I/O端口地址 8.1.2 I/O指令 8.2 中断 8.2.1 中断的基本概念 8.2.2 中断指令 8.2.3 中断返回指令 8.2.4 中断和子程序调用 8.3 中断功能的分类 8.3.1 键盘输入的中断功能 8.3.2 屏幕显示的中断功能 8.3.3 打印输出的中断功能 8.3.4 串行通信口的中断功能 8.3.5 鼠标的中断功能 8.3.6 目录和文件的中断功能 8.3.7 内存管理的中断功能 8.3.8 读取/设置中断向量 习题 第九章 宏 9.1 宏的定义和引用 9.1.1 宏的定义 9.1.2 宏的引用 9.1.3 宏的参数传递方式 9.1.4 宏的嵌套定义 9.1.5 宏与子程序的区别 9.2 宏参数的特殊运算符 9.2.1 连接运算符 9.2.2 字符串整体传递运算符 9.2.3 字符转义运算符 9.2.4 计算表达式运算符 9.3 与宏有关的伪指令 9.4 重复汇编伪指令 9.4.1 伪指令REPT 9.4.2 伪指令IRP 9.4.3 伪指令IRPC 9.5 条件汇编伪指令 9.5.1 条件汇编伪指令的功能 9.5.2 条件汇编伪指令的举例 9.6 宏的扩充 9.6.1 宏定义形式 9.6.2 重复伪指令REPEAT 9.6.3 循环伪指令WHILE 9.6.4 循环伪指令FOR 9.6.5 循环伪指令FORC 9.6.6 转移伪指令GOTO 9.6.7 宏扩充的举例 9.6.8 系统定义的宏 习题 第十章 应用程序设计 10.1 字符串的处理程序 10.2 数据的分类统计程序 10.3 数据转换程序 10.4 文件操作程序 10.5 动态数据的编程 10.6 COM文件的编程 10.7 驻留程序 10.8 程序段前缀及其应用 10.8.1 程序段前缀的字段含义 10.8.2 程序段前缀的应用 习题 第十一章 数值运算协处理器 11.1 协处理器的数据格式 11.1.1 有符号整数 11.1.2 BCD码数据 11.1.3 浮点数 11.2 协处理器的结构 11.2.1 协处理器的内部结构 11.2.2 状态寄存器 11.2.3 控制寄存器 11.2.4 标记寄存器 11.3 协处理器的指令系统 11.3.1 指令操作符的命名规则 11.3.2 数据传送指令 11.3.3 数学运算指令 11.3.4 比较运算指令 11.3.5 超越函数运算指令 11.3.6 常数操作指令 11.3.7 协处理器控制指令 11.4 协处理器的编程举例 习题 第十二章 汇编语言和C语言的混合编程 12.1 汇编指令的嵌入 12.2 C语言源程序的汇编输出 习题 第十三章 Windows应用程序的编程 13.1 消息框 13.2 编程伪指令 13.2.1 多路分支语句 13.2.2 调试语句 13.3 Windows程序的结构 13.3.1 Windows程序的基本结构 13.3.2 程序的初始化阶段 13.3.3 窗口的准备阶段 13.3.4 消息循环阶段 13.3.5 消息处理阶段 13.4 Windows应用程序 13.4.1 按钮控件的应用 13.4.2 对话框的定义 13.4.3 对话框和控件的应用 13.4.4 绘画和图像的应用 13.4.5 命令行参数的处理 习题 第十四章 汇编语言编程环境和调试工具 14.1 汇编语言编程环境 14.1.1 MASM 6.1x 14.1.2 Turbo Assembler 14.1.3 MASM32 14.2 调试工具 14.2.1 Debug 14.2.2 CodeView 14.2.3 Turbo Debugger 14.2.4 VKdebug 附录 附录一 键盘按键的各种编码对照表 附录二 显示地址及其显示属性 附录三 Windows中各类预定义常量 附录四 Windows应用程序中部分API函数 参考文献
### 回答1: 离散数学是计算机科学中一门重要的学科,其研究的主要对象是离散化的问题,比如数学中的集合、图论、逻辑、计数等,这些数学概念是计算机科学的基础。而《离散数学第二版》屈婉玲pdf是一本经典的教材,被广泛应用于计算机科学、数学、信息科学等领域的教学和研究中。 该书共分为八章,内容包括集合、关系、图论、布尔代数、逻辑、计数、组合数学和图的渲染。每个章节都有清晰的目标和教学要点,并配有大量的例题和习题以供练习。其中,重点讲解了图的基础知识和算法,如最短路径、最小生树、拓扑排序、哈密尔顿回路等,这些内容对于计算机科学领域的研究具有重要意义。 此外,《离散数学第二版》屈婉玲pdf还注重应用实例的引入和讲解,充分展示了离散数学在计算机科学领域中的应用。同时,书中还介绍了一些常见的离散化问题,如RSA加密算法,IP地址管理等,这些问题与计算机科学和网络安全密切相关。 总之,《离散数学第二版》屈婉玲pdf是一本经典的教材,内容丰富、清晰明了,适合计算机科学、数学、信息科学等学科的学生和研究者们使用。它不仅是学习离散数学的好教材,也为计算机科学研究者提供了理论和实践的指导。 ### 回答2: 《离散数学第二版》是屈婉玲所编写的一本离散数学的教材,它是一本深入浅出、通俗易懂的书籍,是很多计算机科学和信息技术专业学生的必读教材。本书详细地介绍了离散数学的基本概念、原理、方法和应用,包括集合、函数、逻辑、证明、算法、图论、代数系统等多个方面的内容。 《离散数学第二版》采用了大量的实例、图表和练习题,使读者更好地理解概念和方法,并掌握技能。这本书在结构上非常清晰,内容根据难度递进有序排列,让初学者更容易入门。此外,本书还提供了非常有用的数学公式和算法,让读者可以更好地理解和应用这些解决问题的方法。 总之,作为一本离散数学教材,《离散数学第二版》很好地呈现了离散数学在计算机科学和信息技术中的重要性和应用价值。本书对于想要深入理解离散数学的学生和从事计算机科学和信息技术工作的专业人员来说,都是一本很好的参考书籍。 ### 回答3: 离散数学是数学中一个广泛的分支,它研究的对象是离散的数、结构及其相互关系。使用离散数学的方法可以较为清晰地描述物理、社会科学、计算机科学等领域中的问题。离散数学第二版屈婉玲pdf是一本很好的离散数学教材,它详细讲解了离散数学的各个方面,包括集合、函数、数论、图论等内容,内容全面而深入,是一本非常有价值的参考书。此外,屈婉玲老师的讲解方式也很生动易懂,深受学生们的欢迎,为离散数学学习提供了很好的帮助。总之,离散数学第二版屈婉玲pdf是一本很好的离散数学教材,对于学习离散数学的同学来说,是一本不可多得的参考书。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值