chap10排序
工业微生物 chap10 微生物与现代发酵工业

工业微生物 chap10 微生物与现代发酵工业第十章微生物与现代发酵工业发酵现象,具有与地球上生命体的诞生同样长的历史,有史以来就被人类所认识。
几千年来,微生物一直被用来生产面包、啤酒和葡萄酒等产品。
第二阶段的传统发酵技术开始于第一次世界大战期间,发展了丙酮-丁醇和甘油发酵技术。
随着生物化学的进展以及对发酵机理和代谢调控理论研究的深入,发酵产品扩展到柠檬酸、苹果酸等有机酸、氨基酸、核苷酸等食品添加剂、酶制剂、维生素和抗生素等药品。
在20世纪70年代初期,传统的工业微生物学与分子生物学结合起来,制造出40多种生物制药产品,例如红细胞生成素、人体生长激素、干扰素等。
今天,微生物学在全球工业中扮演重要的角色,尤其在制药、食品和化学工业中,微生物是主要的参与者。
第一节微生物发酵生产酒精一、发酵法酒精生产的传统技术酒精发酵是最重要的发酵工业之一。
酒精是由多糖降解成可发酵性的糖后,酿酒酵母或假单胞菌属细菌再将六碳糖,或是脆壁克鲁维酵母、假丝酵母等将乳糖或戊糖酵解而得到的。
如果是由淀粉质原料制造酒精,先将原料蒸煮后,冷至60℃左右,加麸曲或液曲进行糖化制成糖化醪,送入发酵槽加酒母醪进行发酵,再行蒸馏出酒精。
而由糖蜜发酵生产酒精时,用制备酵母醪的稀糖蜜在纯粹培养器中进行灭菌、冷却,再接种酵母菌进行发酵,最后经蒸馏产出酒精。
1. 与酒精发酵有关的微生物由淀粉质原料发酵生产酒精,第一步将淀粉通过糖化剂的作用,转变为可发酵糖。
糖化剂所用霉菌有曲霉与根霉两大类。
第二步将发酵糖通过酵母菌或细菌的作用转变为酒精。
曲霉属中用于酿酒的种属主要有:米曲霉、泡盛曲霉、甘薯曲霉、宇佐美曲霉、黑曲霉NRRL330、NRRL337、臭曲霉、海枣曲霉和黑曲霉AS3.4309。
常用的根霉有鲁氏毛霉、日本根霉、东京根霉及爪哇根霉。
国外酒精工厂常用的酵母菌,以德国Lindner氏发现的RasseⅡ及RasseⅫ最为著名。
我国使用淀粉质原料制造酒精的工厂所用的酵母菌多为酿酒酵母K。
电机学 chap10三相异步电动机的起动和调速

斜槽
对谐波磁场,相 当于分布绕组的 作用
槽配合
定转子一阶齿谐波
Z1 1 Z2 1
p
p
即:Z1 Z2 , Z1 Z2 2 p
为要消除齿谐波同步转矩,定子齿数与
转子齿数不应相等,它们之间的差数也 不应等于极数。
异步电动机的调速与制动
一、异步电动机调速方法
异步电动机的转速
n 60 f 1 s
第10章 异步电动机的起动、 调速和制动
异步电动机的起动性能
1. 起动电流倍数 2. 起动转矩倍数 3. 起动时间 4. 起动时能量消耗与发热 5. 起动设备的简单性和可靠性 6. 起动中的过渡过程
一、起动电流和起动转矩
起动:从禁止不动到加速到工作转速的过程
要求:在起动时有较大的起动转矩(倍数),较小 的起动电流(倍数)
内层鼠笼有较大的漏抗,电流较小,功率因数较 低,所产生的电磁转矩也较小。
外层鼠笼仅有非常小的漏抗,电流较大,且电阻 较大,起动时所产生的电磁转矩也较大。层鼠笼 又称起动鼠笼。
2.起动过程结束后
转子电流的频率很小,内层鼠笼的漏抗很小, 两个鼠笼转子的电流分配决定于电阻。
内层鼠笼电阻较小,电流较大,运行时在产生 电磁转矩方面起主要的作用,内层鼠笼称为运 行鼠笼。
•由于电流的分布不均匀,等效槽导体的 有效面积减小——集肤效应使槽导体电阻 增加;
•集肤效应作用使槽漏磁通有所减少,转 子漏抗也有所减少,二者均促使起动转矩 增大,改善了起动特性。
•启动瞬间,由于磁路饱和,转子漏抗将 明显减小。
等效截面
深槽式异步电动机
2.正常运行时 在正常运行时,由于转子电流的频率很低,槽导体的 漏抗比电阻小得多,槽中电流将依电阻而均匀分布, 转子电阻恢复到固有的直流电阻。
源代码--数据结构与算法(Python版)chap10 排序

交换类
(2)快速排序 快速排序采用分而治之(Divide and Conquer)
的策略将问题分解成若干个较小的子问题,采用 相同的方法一一解决后,再将子问题的结果整合 成最终答案。快速排序的每一轮处理其实就是将 这一的基准数定位,直到所有的数都排序完成 为止。
21
快速排序的基本步骤:
1. 选定一个基准值(通常可选第一个元素); 2. 将比基准值小的数值移到基准值左边,形
14
• 交换类
交换类排序的基本思想是:通过交换无序序列 中的记录得到其中关键字最小或最大的记录,并将 其加入到有序子序列中,最终形成有序序列。交换 类排序可分为冒泡排序和快速排序等。
15
交换类
(1)冒泡排序 两两比较待排序记录的关键字,发现两
个记录的次序相反时即进行交换,直到没有 反序的记录为止。因为元素会经由交换慢慢 浮到序列顶端,故称之为冒泡排序。
3. 最后对这个组进行插入排序。步长的选法 一般为 d1 约为 n/2,d2 为 d1 /2, d3 为 d2/2 ,…, di = 1。
11
【例】给定序列(11,9,84,32,92,26,58,91,35, 27,46,28,75,29,37,12 ),步长设为d1 =5、d2 =3、 d3 =1,希尔排序过程如下:
for i in range(1,len(alist)):
#外循环n-1
for j in range(i,0,-1):
#内循环
if alist[j]<alist[j-1]:
alist[j],alist[j-1]=alist[j-1],alist[j] #交换
li=[59,12,77,64,72,69,46,89,31,9] print('before: ',li) insert_sort(li) print('after: ',li)
chap_10 排序

二趟排序: 二趟排序: 13 4 48 38 27 49 55 65 97 76 取d3=1 13 三趟分组: 三趟分组: 4 48 38 27 49 55 65 97 76
三趟排序: 三趟排序: 13 27 38 48 49 55 65 76 97 4
8
希尔排序特点
子序列的构成不是简单的“逐段分割” 子序列的构成不是简单的“逐段分割”,而是将 相隔某个增量的记录组成一个子序列 希尔排序可提高排序速度, 希尔排序可提高排序速度,因为
2
3.排序的数据类型描述 排序的数据类型描述 在以后讨论排序时,待排序记录的数据类型统一描述如下 待排序记录的数据类型统一描述如下: 在以后讨论排序时 待排序记录的数据类型统一描述如下 typedef struct{ #define MAXSIZE 20 //r[0]闲置或用作哨兵单元 闲置或用作哨兵单元 typedef int KeyType; RedType R[MAXSIZE+1]; typedef struct{ int length; //顺序表长度 顺序表长度 KeyType key; //关键字项 关键字项 }SqList; InfoType otherinfo; //其它数据项 其它数据项 } RedType; 10.2 插入排序 一.直接插入排序 直接插入排序 基本思想:把一个记录插入到已排好序的有序表中 从而得到 基本思想 把一个记录插入到已排好序的有序表中,从而得到 把一个记录插入到已排好序的有序表中 一个新的记录数增1 一个新的记录数增 的有序表
6
希尔排序(缩小增量法 希尔排序 缩小增量法) 缩小增量法
排序过程:先取一个正整数 排序过程:先取一个正整数d1<n,把 , 所有相隔d1的记录放一组, 所有相隔 的记录放一组,组内进行直接插 的记录放一组 入排序;然后取 入排序;然后取d2<d1,重复上述分组和 , 排序操作;直至di=1, 排序操作;直至di=1,即所有记录放进一 个组中排序为止
chap10远期和期货的定价

例如:构建如下两种组合: 组合A:一份远期合约多头加上一笔数额
为 Ker(T t) 的现金; 组合B:一单位标的资产。
9
在组合 A 中,Ker(Tt) 的现金以无风险利率投资,投资期为(T t )。
到 T 时刻,其金额将达到 K 。( Ker(Tt)er(Tt) K ) 在远期合约到期时,这笔现金刚好可用来交割,换来一单位标的资产。
构建如下两种组合: 组合A:一份远期合约多头加上一笔数额为 Ker(T t) 的现金;
组合C:一单位标的资产加上利率为无风险利率、 期限为从现在到现金收益派发日、本金为I的负 债。
16
在T时刻,两种组合都等于一单位标的资产。 由此可以断定,这两种组合在t时刻的价值相 等。即:
f Ker(T t) S I f (S I ) Ker(T t)
外汇远期和期货的价格为:
F Se(rrf )(T t)
这就是利率平价关系式。
26
三、远期利率协议的定价
• 由于FRAs是空方承诺在未来的某个时刻(T时 刻)将一定数额的名义本金(A)按约定的合 同利率( K )在一定的期限(T*-T)贷给多 方的远期协议。
• 本金A在借贷期间会产生固定的收益率,因此 其属于支付已知收益率资产的远期合约。
其中 为q该资产按连续复利计算的已知收益率。
21
组合A在T时刻的价值等于一单位标的资产。 组合D拥有的证券数量则随着获得红利的增加而
增加,在T时刻,正好拥有一单位标的资产。因 此在t时刻两者的价值也应相等。即:
f Ker(T t) Seq(T t)
f Seq(T t) Ker(T t)
24
二、外汇远期与外汇期货的定价
• 外汇属于支付已知收益率的资产,其收益率是
c数据结构chapt10

16
08
21
25
49
25*
16
08
21
25
49
25*
16
08
21
16
1
08 2
25* 3
25 4
49 5
i=2
Gap = 2
0
21
16
08
25*
25
49
21
16
08
25*
25
49
08
16
21
25*
25
49
08
16
1
21 2
25* 3
25 4
49 5
i=3
Gap = 1
0
08
16
21
25*
25
49
i=5
16
21
25
25*
49 08 08
0
1
2
3
4
5
temp
完成
08 0 i=4 j=3 21 i=4 j=2 0
16
1
21 2
25 3
25* 4
49 5
i = 4 时的排序过程
25
1
25*
2
49 3
16 16 4 49 08 08 5 16 temp
21
25
16 25* 49 2 3
16
0
1
4
5
⑶ 希尔排序法是不稳定的。
void ShellSort(RecType R[],int n) /*希尔排序算法*/ { int i,j,d;RecType temp; d=n/2; /*d取初值n/2*/ while (d>0) { for (i=d;i<n;i++) /*将R[d..n-1]分别插入各组当前有序区*/ { j=i-d; while (j>=0 && R[j].key>R[j+d].key) { temp=R[j]; /*R[j]与R[j+d]交换*/ 希尔排序的时间复 R[j]=R[j+d];R[j+d]=temp; 杂度随d值取法的 j=j-d; 不同而不同,但d } 值的取法并无定式 } 。需保证最后一个 d=d/2; /*递减增量d*/ 增量必须为1。 } }
Chap._10 球函数

d l 1 2 d d l -2 2 l l 1 dx l 1 ( x 1) dx dx l-2 ( x 1) dx
分部积分l次
( 1)l N l2 2 l 2 (l! ) 2 ( 1)l 2l 2 (l! ) 2
1
d l 1 2 d l 1 2 ( x 1)l l 1 ( x 1)l dx 1 dx l 1 dx
4
利用
(k 2)(k 1) ak ak 2 (k l )(k l 1)
k (k 1) ak 2 ak , (k l 2)(k l 1)
l (l 1) l (l 1) (2l )! al 2 al l 2 2(2l 1) ( 2)(2l 1) 2 (l! ) 1 (2l )! (2l 2)! 1 l ( 1) l , ( 2)(2l 1) 2 (l 1)!(l 2)!l 2 (l 1)!(l 2)!
2
2 i i( ) 2
x x 1e
将此代入积分表式
x x 1e
2
i
13
1 1 Pl ( x ) 2i 2l 1 2 1 2 1 2
2
x x 2 1ei 1
2
x 1
2 2 i
l
l 1
2 N l Pl ( x) dx , (l 0,1,2,) 1 2l 1
1 2
18
用
l 1 dl 2 x 1 Pl ( x ) l l 2 l! dx
1 2 N l 2l 2 (l! ) 2 1 2l 2 (l! ) 2 1 2l 2 (l! ) 2
电子商务概论chap10 电子商务物流系统

10.2 电子商务物流实现模式
自营物流与外包物流优劣对比
优势
劣势
物流配送的可控性强; 自 服务内容灵活性强,更容易 营 推进各种新型服务; 物 具有品牌宣传、二次营销的 流 作用;
货到付款实现实时回款
成本高; 覆盖网络的扩张速度有限; 物流业务的专业化程度需花 费更多时间积累
物 流 外 包
“可以说,史密斯不仅创建了一个企业,而且还创 造了一个行业。”2004年6月,在《执行总裁》杂 志将史密斯评为年度总裁时,其中一位评委如是说。
二、FedEx系统结构
BToB系统 BToC系统
虚拟 订单 系统
货运 分组 系统
在线 全球资 调度 源共享 系统 系统
虚拟订单系统:将客户目录放在FedEx网站上,客 户可以通过互联网与其进行业务联系。同时,对于 承接的业务, FedEx主动将订单处理的情况和货运 进程传送到客户端;
货运分组系统:通过网络提供同一工作组之间可共 享的通讯录、货运日志、货物跟踪等资料;
全球资源共享系统:通过标准界面提供各类业务信 息以及最佳决策支持,使所有员工都能使用及时正 确的信息来作出最佳的业务决策。
系统改进:
随着企业间电子商务的发展, FedEx的合作企业 逐渐要求提供系统的整合型服务,为此FedEx提供 了一个以Web API为开发应用程序的接口,与客 户端系统相连,使用户的客户通过用户的网页浏览 器就能跟踪FedEx的货运全过程。通过提高用户客 户的满意度来提升其用户的价值,达到多方共赢;
成本低; 借助3PL已有物流网络,覆盖 区域广; 专业化程度高
物流服务可控性差;
新型服务较难实现或推进速
度慢;
无法取得品牌宣传效果;
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
/*关键字域*/ /*其他数据域*/ 24 /*线性表元素类型*/
直接插入排序的完整程序: void InsertSort(SqList R[],int n) { int i,j; SqList tmp; for (i=1;i<n;i++) { tmp=R[i]; j=i-1; while (j>=0 && tmp.key<R[j].key) {R[j+1]=R[j]; /*元素后移,以便腾出一个位置插入tmp*/ j--; } R[j+1]=tmp; /*在j+1位置处插入tmp*/ } 25 }
内部排序的时间分析:
实现内部排序的基本操作有两个: (1)“比较”序列中两个关键字的 大小;
(2)“移动”记录。
26
对于直接插入排序:
最好的情况(关键字在记录序列中顺序有序):
“比较”的次数:
“移动”的次数:
1 n 1
i 2
n
0
“移动”的次数:
最坏的情况(关键字在记录序列中逆序有序):
1
10.1 概述 10.2 插入排序 10.3 快速排序
10.4 堆排序 10.5 归并排序 10.6 基数排序
10.7 各种排序方法的综合比较
10.8 外部排序
2
10.1 概 述
一、排序的定义
二、内部排序和外部排序
三、内部排序方法的分类
3
一、什么是排序?
排序是计算机内经常进行的一种操作,
其目的是将一组“无序”的记录序列调 整为“有序”的记录序列。
L.r[j+1] = L.r[j]; // 记录后移 L.r[low] = L.r[0]; // 插入 } // for } // BInsertSort
29
折半查找的程序段: low = 1; high = i-1; while (low<=high) { m = (low+high)/2; // 折半
这些关键字相互之间可以进行比较,即在
它们之间存在着这样一个关系 Kp1≤Kp2≤…≤Kpn
按此固有关系将上式记录序列重新排列为 : { Rp1, Rp2, …,Rpn } 的操作称作排序。
5
二、内部排序和外部排序
若整个排序过程不需要访问外存便 能完成,则称此类排序问题为内部排 序;
反之,若参加排序的记录数量很大, 整个序列的排序过程不可能在内存中 完成,则称此类排序问题为外部排序。
if (L.r[0].key < L.r[m].key)
high = m-1; // 插入点在低半区
else low = m+1; // 插入点在高半区
}
30
例如:
插入 位置
i
L.r 14 36 49 52 80 58 61 23 97 75
low
high low high low m m
再如:
插入 位置
无序序列 R[i..n] R[i]
有序序列R[1..i]
无序序列 R[i+1..n]
16
实现“一趟插入排序”可分三步进行:
1.在R[1..i-1]中查找R[i]的插入位臵 j ;
R[1..j].key R[i].key < R[j+1..i-1].key
2.将R[j+1..i-1]中的所有记录均后移
例如:将下列关键字序列 52, 49, 80, 36, 14, 58, 61, 23, 97, 75
调整为:
14, 23, 36, 49, 52, 58, 61 ,75, 80, 97
4
一般情况下, 假设含n个记录的序列为{ R1, R2, …, Rn }
其相应的关键字序列为 { K1, K2, …,Kn }
35
四、希尔排序(又称缩小增量排序)
6
三、内部排序的方法
内部排序的过程是一个逐步扩大
记录的有序序列长度的过程。 有序序列区 无 序 序 列 区 经过一趟排序
有序序列区 无 序 序 列 区
7
基于不同的“扩大” 有序序列长
度的方法,内部排序方法大致可分 下列几种类型:
插入类 归并类
交换类
选择类
其它方法
8
排序方法的稳定性问题:
在待排序的文件中,存在两个或两个以上的 记录具有系统的关键字,在用某种排序法排序后, 若这些相同关键字的记录的次序仍然保持不变, 则称这种排序方法是稳定的,否则称这种排序方 法是不稳定的。 评价一个排序算法好坏的标准有: (1)对n个记录的文件排序所需比较关键字的次 数; (2)对n个记录的文件排序所需移动记录的次数; (3)排序过程中所需要的辅助存储空间的大小。
m
i
L.r 14 36 49 52 58 61 80 23 97 75
low high low high m m m high
31
三、表插入排序(教材P267)
在静态链表中,链表中的一个结点对应数组中的一个元素,如果某结点 在数组中的下标为i,则s[i].key和s[i].next分别为该结点的数值字段和后继指 针字段;如果后继指针字段的值为0,则表示该结点无后继结点。在数组中, 各链表结点可按任意次序存放,要对链表中的结点进行存取操作,要从表头 指针出发,顺着指针链依次进行。 为了减少在排序过程中进行的“移动”记录的操作,必须改变排序 过程中采用的存储结构。利用静态链表进行排序,并在排序完成之后,一 次性地调整各个记录相互之间的位臵,即将每个记录都调整到它们所应该 在的位臵上。
“比较”的次数:
(i 1)
i 2
n
(n 4)( n 1) 2
(i 1)
i 2
n
(n 4)( n 1) 2
27
二、折半插入排序
因为 R[1..i-1] 是一个按关键字有
序的有序序列,则可以利用折半查找
实现“在R[1..i-1]中查找R[i]的插入位
臵”,如此实现的插入排序为折半插 入排序。
加记录的有序子序列的长度。
13
4. 归并类
通过“归并”两个或两个以上的 记录有序子序列,逐步增加记录有
序序列的长度。
5. 其它方法
14
10. 2 插入排序
15
一趟直接插入排序的基本思想:
有序序列R[1..i-1]
一般是将R[i]先 送R[0]中,将R[0] 与有序序列中各 元素进行比较, 找插入位置,移 位,插入。
33
如何在排序之后调整记录序列?
算法中使用了三个指针(整数型的指示器)
其中:p 指示第 i 个记录的当前位臵;
i 指示第 i 个记录应在的位臵; q 指示第 i+1 个记录的当前位臵。
34
void Arrange ( Elem SL[ ], int n ) {//根据静态链表SL中各结点的指针值,调整记录位臵; //使得SL中记录按关键字非递减有序排列 p = SL[0].next; // p指示第一个记录的当前位臵 for ( i=1; i<n; ++i ) { while (p<i) p = SL[p].next; //移动指针 q = SL[p].next; // q指示尚未调整的表尾 if ( p!= i ) { SL[p]←→SL[i]; // 交换记录,使第i个记录到位 SL[i].next = p; // 指向被移走的记录, }//if p = q; // p指示尚未调整的表尾,准备找第i+1个记录 }//for } // Arrange
静态单链表存储结构 #define MAXSIZE 1000 typedef struct{ Elemtype key; int next; }Elem, SLinkList[MAXINT];
32
void LInsertionSort (Elem SL[ ], int n){ // 对记录序列SL[1..n]作表插入排序。 SL[0].key = MAXINT ; SL[0].next = 1; SL[1].next = 0; for ( i=2; i<=n; ++i ) for ( j=0, k = SL[0].next;SL[k].key<= SL[i].key ; j=k, k=SL[k].next ) { SL[j].next = i; SL[i].next = k; } // 结点i插入在结点j和结点k之间 }// LinsertionSort
// 复制为监视哨
for ( j=i-2; L.r[0].key < L.r[j].key; -- j ) L.r[j+1] = L.r[j]; // 查找中实现记录后移 L.r[j+1] = L.r[0]; // 将R[i],插入到正确位臵
}//if } // InsertSort
23
直接插入排序: 它是一种最简单的排序方法,其过程是依次 将每个记录插入到一个有序的序列中去。 假设记录存放在R[0..n-1]之中,R[0..i-1]是已 排好序的记录;R[i..n-1]是未排序的记录。插入 排序将R[i]插入到R[0..i-1]之中,使R[0..i]成为有 序的。插入R[i]的过程就是完成排序中的一趟。 随着有序区的不断扩大,使R[0.. n-1]全部有序。 类型定义如下:
21
上述循环结束后可以直接进行“插入”。
令 i = 2,3,…, n.(假设R[1]是有序的.
实现整个序列的排序。 for ( i=2; i<=n; ++i ) if (R[i].key<R[i-1].key) { 对于确定的i,在 R[1..i-1]中查找R[i]的 插入位臵;