Microsoft PowerPoint - DS_Ch2_EN [兼容模式]

Size: px
Start display at page:

Download "Microsoft PowerPoint - DS_Ch2_EN [兼容模式]"

Transcription

1 Data Structure Ch.2 Linear List Dr. He Emil Huang School of Computer Science and Technology Soochow University 苏州大学计算机科学与技术学院网络工程系 本章 ppt 与教材对应情况 本章涉及所有内容涵盖了教材以下章节 P212~P (List definition 表的定义 ) 6.2 (Implementation of Lists 表的实现 ) 6.5 (Linked Lists in Arrays 数组链表, 自学 ) huangh@suda.edu.cn Logical Structure of Linear List Linear List:a finite sequence composed of n (n 0) nodes, namely, a 1,, a n, 典型线性结构 Denoted by( 记作 ):L = (a 1, a 2,, a n ) Attribute( 属性 ): a i 只是一个抽象符号 Length number of nodes, denoted by n, L is an empty list ( 空表 ) when n=0 a i generally the same type head 开始结点, 表头 tail 终端结点, 表尾 Logical Structure of Linear List Logical Structure and Feature ( 逻辑结构 ) when L Ф, 1 Lhasone, and only one, start node a 1 and end node a n,a 1 has only one immediatesuccessor( 直接后继 ), a n has only one immediate predecessor ( 直接前驱 ); 2 interior node ( 内部结点 )a i (2 i n-1) has both one immediate predecessor a i-1 and one immediate successor a i+1 ; The logical relationship between nodes is determined by the position sequence, a i appears at the i-th position of list, which is linear ( 线性的 ), sol is called Linear List ( 线性表 ) Logical Structure of Linear List Examples: English Alphabet (A, B,, Z) Numbers of Playing Cards (2, 3,, 10, J, Q, K, A) Student Grade Sheet ( 学生成绩表 ) DEPT={ 通信, 计算机, 自动化, 城市轨道交通, etc. 2.1 Logical Structure of Linear List Basic Operations: InitList(L) ListLength(L) GetNode(L, i) etc., 从函数名我们基本能猜出函数的功能, 命名的重要性, 接下来很多功能基本相同的程序由于版本不同 ( 如同时列出了 C 版本实现,C++ 版本实现 ), 因此实现细节会有细微差别 a i ----abstract Symbol, which could be a structured object in practice ( 具体应用可能是一个结构类型对象 ); Linear List is flexible. Thelength of a linear list could be enlarged or shortened according to users various demands. 5 Complex functions could be implemented from the basic operations. ( 许多复杂的函数功能可以通过基本操作实现 ) 6 1

2 Ch.2 Linear List The ADT Definition of a Linear List ADT List{ // 线性表的 ADT 表示 Data Object:D = { a i a i ElemSet, i=1,2,,n, n 0 Data Relation:R = {<a i-1, a i > a i-1, a i D, i=2,3,,n Basic Operations: InitList (&L) Result: Construct an empty linear list L; ListEmpty (L) Initial Conditions: The linear list L is NOT null; Result: Return TRUE, if L is empty, or FALSE, otherwise. Ch.2 Linear List. GetElem ( L, i, &e ) Initial Conditions: The linear list L is NOT null; 1 i ListLength (L); Result: Assign e the value of the i-th element in L, then return. ListInsert ( L, i, &e ) Initial Conditions: The linear list L is NOT null; 1 i ListLength (L); Result: Insert e as the i-th element of linear list L; // 此处省略诸多线性表 ADT 运算 ADT List Ch.2 Linear List ( 课本 6.1 节表的定义, P213) A list of elements of type T is a finite sequence of elements of T together with the following operations: Construct the list, leaving it empty ( 构建空线性表 ) Determine whether the list is empty or not ( 判空 ) Determine whether the list is full or not ( 判满 ) Find the size of the list ( 返回线性表长度 ) Clear the list to make it empty ( 清空表 ) Insert an entry at a specified position of the list ( 指定位置插入 ) Remove an entry from a specified position in the list. ( 指定位置删除 ) Retrieve an entry from a specified position in the list. ( 检索表中指定位置元素 ) Replace the entry at a specified position in the list. ( 替换表中指定位置的元素 ) Traverse the list, performing a given operation on each entry. ( 遍历表, 对表中每个元素执行给定操作 ) Ch2. Linear List Definition Recall Some Important Concepts ADT (Abstract Data Type) STL (Standard Template Library, C++ 标准模板库 P213) STL 是 C++ 标准库的一部分, 标准库包含了各类函数和类的实现, 它为许多数据结构提供了方便的实现, 数据结构课程介绍的结构几乎全部在 STL 模板类中均有实现 STL classes list and vector, 其中 vector 模板类与下面介绍的 List ADT 类似 ( 如遗忘或未学习过, 请同学们课下务必自学或复习巩固 ) Method Specifications (P214) 构造函数, 创建 list 并将其初始化为空 删除所有的 list 元素 Ch2. Linear List Definition Method Specifications 根据 list 是否为空, 返回 true or false 根据 list 是否为满, 返回 true or false 将 x 插入到 List 中的 position 位置 ; 注意位置是从 0 开始还是从 1 开始 ; Error_code (P58 & P679): enum 类型, 类的方法应该通过错误诊断代码指明问题 ; 返回 list 中元素个数 我们的课本是通过 Error_code 枚举类型报告所有来自程序和函数的错误 ; 如 :TRUE,FALSE,range error 等 注 :entry 有记录的涵义, 故课本中的 entry 这么理解就容易懂了! 2

3 删除 position 位置上的元素, 参数 x 记录 List 中原先 position 位置处元素的副本 将 position 位置上的元素复制到 x 中, 所有 List 中原先元素保持不变 类成员函数后加 const: 表示在这个成员函数里不会修改类的成员变量的值, 从安全性角度出发 (P215) 另外,const 成员函数在执行的时候不能调用非 const 成员函数 在线性表的每个元素上执行函数 *visit 指定的动作 用 x 替换 position 位置上的元素, 所有 List 中原先元素保持不变, 若失败返回 Error_code; 类成员函数形参加 const: 当参数为引用时, 如果不希望引用类型的形参在被调用的函数内部被修改, 就可以使用 const 修饰符修饰引用参数 ( 你们 C++ 教材 P198) 在 C++ 中不带任何圆括号的函数名字被看作指向函数的指针 ( 函数指针 ), 在 List 类的成员方法 traverse 的形参 visit( 注 :visit 外面的括号是为了编译时不出现误解 ) 必须被声明为一个指向函数的指针 函数 *visit 拥有一个 List_entry 类型的引用参数和 void 返回类型 ; 使用 : 假设 print 函数作用为打印元素值, 那么我们声明一个 List 对象 the_list ( 声明语句 :List the_list; the_list 为一个类对象 ) 调用语句 the_list.traverse(print) 即可 ; 好处 : 通用性更强 2.2 The Sequential Linear List The Sequential Linear List ( 顺序表, or contiguous( 临近 ) list) P219 contiguous Definition: The elements of a Sequential Linear List are stored in a contiguous set of memory ( 一组地址连续的存储单元 ), in their logical order. Address Computation: Assume the size of each element is l units, the address of the i-th elements is Loc(a i ) = Loc(a 1 ) + (i-1) * l Sizeof(Element) Sequential Linear List Features ( 顺序表特点 ): 1 Randomized access ( 随机存取 ); 2 顺序表无需额外的空间来存储其逻辑关系, 但是因为空闲区的大小难以估计, 有可能造成空间的浪费 ; 3 The memories could be allocated statically (implemented with an vector) or dynamically (result in lots of copying operations while expanding an existed linear list). Base Address ( 基地址 ) of the sequential List L

4 2.2.1 Sequential Linear List Implementation:With 1-D Array(Vector) 顺序表的 C 语言结构代码 #define ListSize 100; // 假定顺序表最大存储量 typedef int DataType; // 依具体使用来定 typedef struct { DataType data[listsize]; // 存放结点 int length; // 当前表长 n Seqlist; Seqlist:Sequential List 顺序表 19 Class Template ( 类模板 P217~P218) Define format ( 类模板形式定义 ) template <class Entry_type_param( 元素类型 )> class List{ //Add in member information for the class ; Usage way ( 如何使用自己定义的类模板 ) List <real_type( 真实类型 )> list_obj; example: List <int> first_list; 定义一个整型数据构成的线性表对象 List<char> second_list; 定义了一个字符构成的线性表对象 Contiguous Implementation ( 课本版本 ) Sequential List template definition (P219 in text book) class SeqList{ List ( ); // 构造函数类模板中使用泛化元素类型,list_entry 就 int size ( ) const; 是泛化类型 可以通过 typedef 进行定义 e.g. typedef int List_entry bool full ( ) const; bool empty ( ) const; void clear ( ); void traverse(void (*visit)(list_entry& )); Error_code retrive(int position,list_entry& x) const; Error_code replace(int position, const List_entry& x); Error_code remove(int position, List_entry& x); Error_code insert(int position, const List_entry& x); private: // 私有成员数据 int count; List_entry entry[max_list]; // 所谓 contiguous 是指采用数组方式存储 ; 顺序表 (SeqList) 类的定义 (C++ 版本 ) #include <iostream.h> // 定义在 SeqList.h 中 #include <stdlib.h> #include "LinearList.h" const int defaultsize = 100; // 类型参数 T class SeqList: public LinearList<T> { //SeqList 继承了 LinearList 线性表抽象基类 protected: // 以下属性封装在类的私有域中 T *data; // 声明存储空间基地址, 存放数组 int maxsize; // 最大可容纳表项的项数 int n; // 当前已存表项数 void resize(int newsize); // 改变数组空间大小 22 public: SeqList(int sz = defaultsize); // 构造函数 SeqList(SeqList<T>& L); // 复制构造函数 ~SeqList( ) {delete[ ] data; // 析构函数 int Size( ) const {return maxsize; // 求表最大容量 int Length( ) const {return n; // 计算表长度 int Search(T& x) const; // 搜索 x 在表中位置, 函数返回表项序号 int Locate(int i) const; // 定位第 i 个表项, 函数返回表项序号 bool Insert(int i, T& x); // 插入 bool Remove(int i, T& x); // 删除第 i 个表项, 用 x 返回 SeqList 类的构造函数 : SeqList<T>::SeqList(int sz){ // 通过指定参数 sz 定义数组长度, 即 ListSize if(sz>0){ maxsize=sz; n=0; //n: 当前已存表项数 data=new T[maxSize]; // 存储空间基地址 if(data==null) { cerr<< 存储分配错误 <<endl; exit(1); // 程序结束返回 1 给系统 ;

5 SeqList<T>::SeqList(SeqList<T>& L){ // 用参数表中给出的已有顺序表初始化新建顺序表 maxsize=l.size(); n=l.length(); T value; data=new T[maxSize]; if(data==null) { 拷贝构造函数用一个对象值初始化一个新构造的对象 cerr<< 存储分配错误! <<endl; exit(1); for(int i=1; i<=n;i++) {L.getData(i,value); data[i-1]=value; Basic Operations in SeqList 1. Insert Basic Ideas: 请同学注意课本的合法 position 从 0 开始 Insert x in the i-th position of L (1 i n+1) : x (a 1,, a i-1, a i, a i+1,, a n ) (a 1,, a i-1, x, a i,, a n+1 ) To keep the order both physically and logically, we should: 1Move down a n,, a i for 1 position, free the i-th position; 2Insert x; 3Increase the length of linear list with Basic Operations in SeqList Algorithms (C version): void InsertList(SeqList *L, DataType x, int i){ int j; // 注意数组 1-st 位置的下标为 0. a i 的位置是 data[i-1]. if (i<1 i>l->length+1) //1 i n+1 是合法插入位置 Error( Position error! ); if (L->length >= ListSize) Error ( Overflow ); // 溢出 for (j = L->length-1; j>=i-1; j--) L->data[j+1] = L->data[j]; // 结点后移 L->data[i-1] = x; // 插入 x L->length++; // 长度加 Basic Operations in SeqList Algorithms: bool SeqList<T>::Insert (int i, T& x) { // 将新元素 x 插入到表中第 i(1 i n+1) 个表项位置 // 函数返回插入成功的信息 if (n == maxsize) return false; // 表满 if (i < 1 i > n+1) return false; // 参数 i 不合理 for (int j = n; j >= i; j--) // 依次后移 data[j] = data[j-1]; data[i-1] = x; // 插入 ( 第 i 表项在 data[i-1] 处 ) n++; return true; // 插入成功 ; ; Basic Operations in SeqList Analysis: 循环后移, 移动节点数为 n-i+1, 时间与 相关 1 Best Conditions: 当 i=n+1, 不移动 O(1) 常数时间解释 O(n 0 ) 与 n 无关 2 Worst Conditions: 当 i=1, 全部后移 O(n) 3 Average Conditions: 设任何合法位置上插入的概率相等 : ( 位置 i 插入的概率 ) 当位置 i 确定时, 后移次数亦确定 :n-i+1. 故表中平均移动结点为 : 即插入时, 平均移动表中一半结点 29 课本程序供大家课后进一步深入体会 (P220) Error_code List<List_entry>::insert(int position, const List_entry& x){ if (full()) return overflow; // 溢出 if (position<0 position>count) return range_over; // 插入点错误 for (int i=count-1;i>=position; i--) entry[i+1]=entry[i]; // 移动元素 ( 从后向前 ) entry[position]=x; // 放入元素 count++; // 增加统计个数 return success; 课本 P219 SeqList 类声明 // 加上图示算法分析 : 最好情况下没有元素移动, 最坏情形下移动元素 n 个, 平均情况下元素移动的个数为 n/2, 即与 n 成正比 T(n)=O(n) 5

6 L.Insert (4, 66) i position i i i count Basic Operations in SeqList 2. Delete Basic Idea: Delete the i-th elements in L (1 i n) (a 1,, a i-1, a i, a i+1,, a n ) (a 1,, a i-1, a i+1,, a n-1 ) for (int i=count-1;i>=position; i--) entry[i+1]=entry[i]; // 移动元素 ( 从后向前 ) entry[position]=x; // 放入元素 为保持物理与逻辑顺序一致, 须 : 1 前移 : 将 a i+1,, a n 依次前移 1 位, 填补删除 a i 留下的空间 ; 2 Decrease the list length by Basic Operations in SeqList Algorithms (C version) : void DeleteList(SeqList *L, int i){ int j, n=l->length; if (i<1 i>n) Error( Position error! ); // 非法位置 for (j = i; j<=n-1; j++) L->data[j-1] = L->data[j]; // 结点前移 L->length--; // 长度减 1 ; Basic Operations in SeqList Algorithms: bool SeqList<T>::Remove (int i, T& x) { // 从表中删除第 i(1 i n) 个表项, 通过引用型参 // 数 x 返回被删元素 函数返回删除成功信息 if (n == 0) return false; // 表空 if (i < 1 i > n) return false; // 参数 i 不合理 x = data[i-1]; for (int j = i; j <= n-1; j++) // 依次前移, 填补 data[j-1] = data[j]; n--; return true; ; Basic Operations in SeqList Analysis: 前移次数与 n 和 i 相关, 移动节点数 n-i 1 Best Conditions: 当 i=n, 不移动 O(1) 2 Worst Conditions: 当 i=1, 前移 n-1 次 O(n) 3 Average Conditions: 课本程序供大家课后进一步深入体会 Error_code List<List_entry> :: remove(int position, List_entry &x) { if (count == 0) return underflow; if (position < 0 position >= count) return range_error; x = entry[position]; count--; while (position < count-1) { entry[position] = entry[position + 1]; position++; return success; 35 6

7 L.remove( 4, e) p 56 p 87 p count-1 while (position < count-1) { entry[position] = entry[position + 1]; position++; p Error_code List<List_entry> :: retrieve(int position, List_entry &x) const // 如果 position 值非法, 返回出错信息, 否则根据 position 的值, 取得表中的第 position 个元素, 并由 x 返回 { if (position < 0 position >= count) return range_error; x = entry[position]; return success; 在顺序结构中, 元素的获取是随机得到的, 只要根据数组下标就可以计算出该元素的存储位置, 顺序存储结构的特征是随机存取 void List<List_entry>::traverse(void (*visit) (List_entry&)) { for (int i=0;i<count;i++) (*visit)(entry[i]); // 此处,visit 函数表示指定的遍历时对每个表元素执行的具体动作, 课本 P Linear Linked List ( 链表 ) Contiguous Implementation Properties Disadvantages: 移动节点, 不利于动态插入和删除 Advantages: 随机存取, 得到第 i 个结点的时间为 O(1) 与表长和位置无关 ( 单链表, a.k.a Linear Linked List) Storage Strategy: 用一组任意存储单元来存放结点 ( 可连续, 亦可不连续 ); 为表示逻辑关系, 须存储后继或前驱信息课本 P221,6.2.3 Simply Linked Implementation 40 Storage Structure of Node (a i ) Data Field Pointer Field (Link Field, 链域 ) next field points to the address of subsequent nodes Expression 1 开始结点无前驱, 用头指针表示 2 终端结点无后继,next 域为空 (NULL, 在 Logical Status One head pointer represents one linked list. 链表由头指针唯一确定 Storage Status Figure 6.1 in textbook (P222) Features 1 顺序存取 ( 回忆之前的顺序表是 存取??) 2 用指针表示结点间逻辑关系 3 动态分配, 表长易扩充 <iostream.h> 中被定义为数值 0) 7

8 Implementations (C version): typedef struct node{ // 结点类型定义 DataType data; // 数据域 单链表 C 语言结构声明 struct node *next; // 指针域 课下自己阅读 ListNode; typedef ListNode *LinkList; // 链表类型定义 ListNode *p; // 结点定义 LinkList head; // 链表头指针定义, 也可以表示 ListNode *head; 43 Implementations (C++ version): 链表类和链表结点类定义 ( 嵌套方式 ) class List { //List 类定义, 嵌套方式 private: class ListNode { // 嵌套链表结点 ListNode 类 public: int data; ListNode *next; ; ListNode *first; // 表头指针, first 即 C 版本中的 head public: // 链表操作 ; 44 链表类和链表结点类定义 ( 继承方式, 基类和派生类 ) class ListNode { // 链表结点类 protected: int data; ListNode 类声明为基类,List 类 ListNode * next; 声明为派生类,List 类继承 ListNode 类数据成员和成员函数 ; class List : public class ListNode { // 链表类, 继承链表结点类的数据和操作 private: ListNode *first; // 表头指针, first 即 C 版本中的 head public: // 链表操作 head 也好,first 也好, 但是从字面直接就能理解为头指针! 45 链表类和链表结点类定义 ( 结构方式 ) struct ListNode { // 链表结点类 int data; ListNode * next; ; class List { // 链表类, 直接使用链表结点类的数据和操作 private: ListNode *first; // 表头指针, first 即 C 版本中的 head ; 优势 : 尽管用 struct 结构体方式声明的 ListNode 类使得该类失去了封装性, 但简化了描述! 46 链表类和链表结点类定义 ( 复合方式 ) class List; // 复合方式 class ListNode { // 链表结点类 friend class List; // 链表类为其友元类 private: int data; // 结点数据, 整型 ListNode * next; // 结点指针 ; class List { // 链表类 private: ListNode *first ; // 表头指针 ; 47 链表类和链表结点类定义 ( 类模板定义 ) // 构建模板类, 模板类型参数 T 代表结点的数据类型 struct ListNode { // 链表结点类的定义 T data; //data 为 T 类型的结点数据域 ListNode<T> *next; // 链指针域 ListNode(ListNode<T> *ptr = NULL) { next = ptr; // 仅初始化指针成员的构造函数 ListNode(T item, ListNode<T> *ptr = NULL) { data = item; next = ptr; // 初始化数据与指针成员的构造函数 ; 链表结点类 ( 结构体模板 ) 定义 48 8

9 class List : public LinearList<T> { // 单链表类定义, 不用继承也可实现 protected: ListNode<T> *first; // 表头指针 public: List ( ) { first = new ListNode<T>; // 构造函数 List (const T& x) { first = new ListNode<T>(x); List ( List<T>& L); // 拷贝构造函数 ~List ( ){makeempty( ) ; // 析构函数 void makeempty( ); // 将链表置为空表 int Length ( ) const; // 计算链表的长度 49 ListNode<T> *Search(T x); // 搜索含 x 元素 ListNode<T> *Locate(int i); // 定位第 i 个元素 T *getdata(int i); // 取出第 i 元素值 void setdata(int i, T& x); // 更新第 i 元素值 bool Insert (int i, T& x); // 在第 i 元素后插入 bool Remove(int i, T& x); // 删除第 i 个元素 bool IsEmpty() const ; // 判表空否在这里引入头结点 { return first->next == NULL? true : false; ListNode<T> *getfirst() const { return first; void setfirst(listnode<t> *f ) { first = f; void Sort(); // 排序 ; 50 Declarations Node template: 链表结点类定义课本 P221 template <class Node_entry> struct Node{ Node_entry entry; // 数据域 Node<Node_entry> *next; // 指针域 Node ( ); Node (Node_entry, Node<Node_entry>* link=null); // 此处提供了两个构造函数, 彼此间是函数的重载关系 ; head List template class List{ public: List(const List<List_entry>& copy); // 拷贝构造函数 ~List(); // 析构函数 void operator=(const List<List_entry>& copy); // 赋值运算符号的重载 // 声明 ADT 中定义的 insert remove 等 protected: int count; // 结点数量 Node <List_entry> *head; // 单链表的头指针 Node <List_entry> * set_position(int position) const; // 获得第 position 个结点的位置 返回指针 ; List Node & Pointer 结点变量与指针变量 Pointer p:the address of a node Node Variable *p:the content of a node Dynamic Allocation,Garbage Collection 1. Create Singly Linked List (1) Insert from HEAD: 从空表开始, 重复读入数据 : 申请新结点 插入表头, 直至输入结束 ; 表次序与输入次序相反 ; 处理自然简单

10 前 ( 头 ) 插法建立单链表 void List<T>:: inputfront (T endtag, List<T>& L) { ListNode<T> *newnode, *newf; T val; cin >> val; L.setFirst(newF); while (val!= endtag) { if (L.isEmpty()){ // 如果链表为空, 则用 val 创建初始链表 newf = new ListNode<T>(val); cin>>val; continue; newnode = new ListNode<T>(val); newnode->next = newf; // 插在表前端 newf = newnode; cin >> val; 55 (2)Insert from TAIL: 设为指针 r 指向当前链尾 ( 初值为 NULL) 1 申请新结点 s 2 将读入数据写入 3 新结点链到表尾 ( 应注意边界条件 ) 4 修改尾指针 r 56 为简便起见, 设结点数据类型 DataType 为 char, 输入字符, 换行符结束 LinkList CreateList(void){ //ch, head, r 为局部量 head = r = NULL; // 开始为空表 while ((ch = getchar())!= \n ){ // 输入流中读取字符 s = (ListNode*)malloc(sizeof(ListNode)); // 1 s->data = ch; // 2 if (head == NULL) // 插入空表 head = s; // 新结点插入空表 ( 边界 ),r 为空 else 57 else r->next = s; // 3 r = s; // 4 if (r!= NULL) r->next = NULL; // 非空表, 终端结点指针为空无后继 return head; 边界条件处理 : 空表和非空表处理不一致简化方法 : 引入头结点 ( 哨兵 ), 其中 data 域可做它用 ( 如表长 58 度 ) 尾插法建立单链表 void inputfront (T endtag, List<T>& L) { ListNode<T> *newnode, *last; T val; cin >> val; L.setFirst(last); while (val!= endtag) { if (L.isEmpty()){ // 如果链表为空, 则用 val 创建初始链表 last = new ListNode<T>(val); cin>>val; continue; newnode = new ListNode<T>(val); last->next = newnode; // 插在表后端 last = newnode; cin >> val; 59 dummy node LinkList CreateList(void){ // 用尾插法建立带头结点的单链表 char ch; LinkList head = (Linklist)malloc(sizeof(ListNode)); ListNode *s, *r; r = head; // 尾指针初始指向头结点 while ((ch=getchar( ))!= \n ) { s = (ListNode*)malloc(sizeof(ListNode)); s->data = ch; // 生成头结点 60 10

11 r->next = s; r = s; r->next = NULL; // 终端结点指针置空, 或空表时头结点指针置空 return head; Note: 为简化起见, 申请结点时不判断是否申请到 Time Complexity: O(n) 61 带头结点的头插法建立单链表 void inputfront (T endtag, List<T>& L) { ListNode<T> *newnode, *newf; T val; newf = new ListNode<T>; L.setFirst (newf); //first->next 默认值为 NULL cin >> val; while (val!= endtag) { newnode = new ListNode<T>(val); newnode->next = newf->next; // 插在表前端 newf->next = newnode; cin >> val; 62 带头结点的尾插法建立单链表 void inputrear ( T endtag, List<T>& L ) { ListNode<T> *newnode, *last; T val; last = new ListNode<T>; // 建立链表的头结 L.setFirst(last); // 为链表 L 的 first 赋值 cin >> val; while ( val!= endtag ) { //last 指向当前的表尾 newnode = new ListNode<T>(val); last->next = newnode; last = newnode; cin >> val; // 插入到表末端 头结点 : 在单链表的开始结点之前附设一个类型相同的结点, 称之为 头结点 头结点的作用 : 1 方便单链表的特殊操作 插入在表头或者删除第一个结点, 这样保持了单链表操作的统一性, 减少程序复杂性和出现 bug 的机会 ; 处理不带头结点的链表时, 需要对开始结点和中间结点分别处理 2 形参声明 不带头结点的单链表在进行 头插法 时需改变头指针的值, 在 C 语言的函数形参中头指针一般使用指针的指针 ; 而带头结点的单链表不需改变头指针的值 last->next = NULL; // 表收尾 由于开始结点的位置被存放在 的指针域中, 所以在链表第一个位置上的操作与在表其他位置上的操作, 无需特殊处理 ; 2 无论链表 Linklist 是否为空, 头指针是指向头结点的非空指针, 空白与非空表的处理 Search 1 Search with VALUE Find the list node with value k 2 Search with INDEX 合法位置 1 i n. 头结点可看作第 0 个结点 返回第 i 个结点的地址, 即找到第 i-1 个结点, 返回其 next 域 Basic ideas: 顺链扫描 :p---- 当前扫描到的结点, 初始指向头结点 j---- 计数器 累加扫描到的结点, 初始值为 0 每次加 1, 直至 j=i 为止,p 指向 i-th 结点 66 Algorithms: 11

12 ListNode *GetNode(LinkList head, int i){ // 在链表 ( 有头结点 ) 中查找 ith 结点找到 (0 i n) 则返回该结点的存储 // 位置, 否则返回 NULL int j; ListNode *p; p = head; j = 0; // 头结点开始扫描 while (p->next && j<i) {// 顺链扫描, 至 p->next 为空或 j=i 为止 p = p->next; j++; if (i == j) return p; // 找到 else return NULL; // 当 i<0 或 i>n 时未找到 我们给出的版本是带头结点的 C 版本程序 C++ 版本请见课本 P223 Finding a list position 确认是否有头结点 Time Complexity Analysis 循环终止条件是搜索到表尾或 j=i 复杂度最多为 i, 与查找位置相关 67 //i=0, 找头结点 ListNode<T> * List<T>::Search(T x) { // 在表中搜索含数据 x 的结点, 搜索成功时函数返 // 该结点地址 ; 否则返回 NULL ListNode<T> *current = first->next; while ( current!= NULL && current->data!= x ) current = current->next; // 沿着链找含 x 结点 return current; ; Insert Question: 将值为 x 的结点插到表的第 i 个结点位置上 即在 a i-1 和 a i 之间插入 故须找到第 a i-1 个结点的地址 p, 然后生成新结点 *s, 将其链到 a i-1 之后,a i 之前 69 void InsertList (LinkList head, DataType x, int i) { // 带头结点 1 i n+1 ListNode *p; p = GetNode(head, i-1); // 寻找第 i-1 个结点 1 if (p== NULL) // i<1 或 i>n+1 时插入位置 i 有错 Error("position error"); s = (ListNode *)malloc(sizeof (ListNode)); //2 s->data=x; //3 s->next=p->next; //4 p->next=s; //5 Consider: 若无头结点, 边界如何处理? Time Complexity: 主要是 GetNode O(n) 合法位置 1 i n+1 GetNode: 0 i n 70 bool List<T>::Insert (int i, T& x) { // 将新元素 x 插入在链表中第 i 个结点之后 ListNode<T> *current = Locate(i-1); if (current == NULL) return false; // 无插入位置 ListNode<T> *newnode = new ListNode<T>(x); // 创建新结点 if(newnode==null){cerr<< Error <<endl; exit(1); newnode->next = current->next; // 链入 current->next = newnode; return true; // 插入成功 ; 同时阅读课本 P224 insert 实现 Delete 删 ith 结点 首先找 a i

13 void DeleteList (LinkList head, int i){ // 合法位置是 1 i n p = GetNode (head, i-1); //1 if (!p!(p->next)) // i<1 或 i>n 时删除位置有错 Error("position error"); r = p->next; //2 令 r 指向被删结点 a i p->next = r->next; // 3 将 a i 从链上摘下 free(r); // 4 释放 a i 73 bool List<T>::Remove (int i, T& x ) { // 删除链表第 i 个元素, 通过引用参数 x 返回元素值 ListNode<T> *current = Locate(i-1); if ( current == NULL current->next == NULL) return false; // 删除不成功 ListNode<T> *del = current->next; current->next = del->next; x = del->data; delete del; return true; ; 74 Correctness Analysis 1 i<1 时,GetNode 中的参数 <0 此时返回 p 为空 2 i=n+1 时,GetNode 中参数 =n 返回终端结点, 此时 p->next 为空 3 i>n+1 时,GetNode 返回 p 为空 Time Complexity O(n) Conclusion: 链表上插入 删除操作无须移动结点, 仅需修改指针 Circular Linked List 首尾相接 : 不增加存储量, 只修改连接方式 Advantages: 从任一结点出发可访问到表中任一其它结点, 如找前驱 (O(n)) 遍历表的终止方式 : p 为空或 p->next 为空 p=head 或 p->next=head Circular Linked List(Singly) 仅设尾指针更方便 : 访问开始结点和终端结点的时间均为 O(1) 例如 : 合并两个单循环链表的时间为 O(1), 但用头指针表示时 : T(m,n)=O(max(m,n)) 或 O(min(m,n)) Doubly Linked List (Circular) 单链表只有后向链, 找一结点的后继时间为 O(1), 但找前驱费时, 若经常涉及找前驱和后继, 则可选双链表

14 2.3.3 Doubly Linked List Structure 对称结构 : 若 p 不空, 则 p->prior->next = p = p->next->prior Advantages: 1 找一结点前驱和找一结点后继同样方便 2 删 *p 本身和删 *p 的后继同样方便 Doubly Linked List (Circular) 例 1: 前插 例 2: 删 *p s->data=x; // 2 s->prior=p->prior; // 3 s->next=p; // 4 p->prior->next=s; // 5 p->prior=s; // 6 p->prior->next=p->next; p->next->prior=p->prior; free(p); Doubly Linked List Characteristic of simply linked List 1 Can access entry in forward order (by the pointer next ) 2 Accessing entry in backward order is difficult. Doubly Linked List (P227) Doubly Linked List (Circular) Doubly Linked List Node definition: ( 双向链表结点定义 ) template <class Node_entry> struct Node{ Node_entry entry; // 数据域 Node<Node_entry> *next; Node<Node_entry> *back; // 两个指针域分别指向后继和前驱 Node ( ); Node (Node_entry, Node<Node_entry>* link_back=null, Node<Node_entry>* link_next=null); ; 请注意课本中的双向链表与严蔚敏老师教材双循环链表结构不完全一致 Doubly Linked List(Circular) Doubly Linked List Definition of doubly-linked list class: class List{ public: //Add specification for methods of the list ADT //constructors and deconstructor protected: int count; // 双向链表结点数 mutable int current_position; mutable Node<List_entry>* current; // 注意 : 仅仅设置了指向 List 当前访问结点的指针 current void set_position(int position) const; ; important characteristic: current=current->next->back=current->back->next; Doubly Linked List(Circular) Doubly Linked List realization of some member functions set_position ( 设置位置 ) void List<List_entry>::set_position(int position) const{ if (current_position<=position) //current 指针后移 for ( ;current_position!=position;current_position++) current=current->next; // 利用循环进行后移 else for (;current_position!=position;current_position--) current=current->back; // 利用循环进行前移 与课本 P226 的 set_position 加以区分 14

15 We can move either direction through the List while keeping only one pointer, current, into the List. ( 只有 current 一个指针 ) We do not need pointers to the head or the tail of the List, since they can be found by tracing back or forth from any given node. ( 解释为何可以不需要头指针或尾指针 ) Doubly Linked List (Circular) Doubly Linked List Realization of some member functions: Insert( 插入结点 ) To find any position in the doubly linked list, we first decide whether to move forward or backward from the current position, and then we do a partial traversal of the list until we reach the desired position. ( 定位之前, 先确定是应该往前还是往后, 然后再作相应的移动 ) Doubly Linked List (Circular) Error_code List<List_entry>::insert(int position, const List_entry& x){ if (position<0 position>count) return range_error; Node<List_entry> *new_node,*following,*preceding; // 为插入做好准备工作, 包括 following 和 preceding if (position==0){ if (count==0) following=null; else{ set_position(0); following=current; preceding=null; Doubly Linked List (Circular) else{ set_position(position-1); preceding=current; following=preceding->next; // 新增结点, 并进行插入 new_node=new Node<List_entry>(x,preceding,following); if (new_node==null) return overflow; if (preceding!=null) preceding->next=new_node; if (following!=null) following->back=new_node; // 插入需要修改两个方向上的指针域 current=new_node; current_position=position; count++; return success; (6.5 Linked List in Arrays textbook) 上述链表是由指针实现的, 其中结点分配和回收是由系统实现的, 系统提供了 malloc 和 free 动态执行, 故称为动态链表 动态 ---- 程序执行时系统动态分配和回收 静态链表 ---- 先分配大空间作为备用结点空间 ( 即存储池 ) 用下标 ( 亦称游标 cursor) 模拟指针, 自定义分配和释放结点函数 1. 定义 #define nil 0 // 空指针 #define MaxSize 1000 // 可容纳的结点数 typedef struct { // 静态链表结构声明 DataType data; // 结点数据域 int next; node, NodePool[MaxSize]; typedef int StaticList;

16 2. 基本操作 ( 模拟动态链表 ) 1 初始化将整个表空间链成一个备用链表, 只做一次 void Initiate(NodePool space) { // 备用链表的头结点位置为 space[0] for (i=0; i<maxsize-1; i++) space[i].next = i+1; space[maxsize-1].next = nil; 2 分配结点在备用链表上申请一个结点, 返回非空 ( 不等于 0) 成功, 否则失败 int AllocNode(NodePool space) { i = space[0].next; // 取备用链表上开始结点, 位置为 i, 即 space 的第 i 个分量 if (i) // 开始结点非空 space[0].next = space[i].next; // 将开始结点从备用链表上摘下 return i; // 为 nil 时失效 释放结点 3. 一般操作 将释放结点收还到备用链表的头上 void FreeNode(NodePool space, int ptr) { // 将 ptr 所指结点回收到备用链表头结点之后 space[ptr].next = space[0].next; space[0].next = ptr; 93 1 插入 void Insert(NodePool space, StaticList L, DataType x, int i) { // 在带头结点的静态链表 L 的第 i 个结点 a i 之前插入新结点 x p = Locate(space, L, i-1); // 找 L 中 a i 的前驱 1 if (p == nil) Error( Position error! ); // 位置错 S = AllocNode(space); // 申请结点 2 if (s == nil) Error( Overflow ); // 申请失败, 空间不足判定 space[s].data = x; // 3 space[s].next = space[p].next; // 4 space[p].next = s; // 删除 void Delete(NodePool space, StaticList L, int i) { p = Locate(space, L, i-1); // 找 L 中 a i 的前驱 1 if (p == nil space[p].next == nil) Error( Position error! ); // 位置错 q = space[p].next; // q 指向被删结点 a i 2 space[p].next = space[q].next; // 将 a i 摘下 3 FreeNode(space, q); // 4 注意 : 链表头指针实际上整数, 即 space 的下标

17 97 98 Comparison of Implementations Contiguous storage is generally preferable when the size of the list is known when the program is written; when the entries are individually very small; when few insertions or deletions need to be made except at the end of the list; when random access is important Linked storage prove superior when the size of the list is not known in advance; when the entries are large; when flexibility is needed in inserting, deleting and rearranging the entries To choose among linked list implementations, consider: Which of the operations will actually be performed on the list and which of these are the most important?( 需要哪些操作, 那个最重要?) Is there locality of reference? That is, if one entry is accessed, is it likely that it will next be accessed again?( 引用是否有连续性 ) Are the entries processed in sequential order? If so, then it may be worthwhile to maintain the last-used position as part of the list structure.( 元素是否按顺序访问, 如果是, 则值得保留一个最近使用的位置 ) Is it necessary to move both directions through the list? If so,then doubly linked lists may prove advantageous.( 是否需要向两个方向操作? 如果是, 则用双向链表比较好 ) 思考 1. 为什么在单循环链表中设置尾指针比设置头指针更好? 2. 写一个算法将单链表中值重复的结点删除, 使所得的结果表中各结点值均不相同 17

Microsoft PowerPoint - DS_Ch2.ppt [兼容模式]

Microsoft PowerPoint - DS_Ch2.ppt [兼容模式] 数据结构 Ch.2 线性表 计算机学院 肖明军 Email: xiaomj@ustc.edu.cn http://staff.ustc.edu.cn/~xiaomj 2.1 线性表的逻辑结构 线性表 : 由 n(n 0) 个结点 a 1,, a n 组成的有限序列 记作 :L = (a 1, a 2,, a n ), 属性 : 长度 ---- 结点数目 n,n=0 时为空表 a i ---- 一般是同一类型

More information

Microsoft PowerPoint - Slides03_第二章 线性表.ppt [兼容模式]

Microsoft PowerPoint - Slides03_第二章 线性表.ppt [兼容模式] 第二章线性表 定义 基本操作 实现 顺序存储 链式存储 应用 多项式 线性表 (Linear List) 定义 线性表是 n ( 0) 个数据元素的有限序列, 记作 (a 1, a 2,, a n ) a i 是表中数据元素,n 是表长度 假定 : 各元素的数据类型相同 原则上 : 线性表中, 表元素的数据类型可以不相同 采用的存储表示可能会对元素的数据类型有限制 特点 除第一个元素外, 其他每一个元素有一个且仅有一个直接前驱

More information

2.3 链表

2.3  链表 数据结构与算法 ( 二 ) 张铭主讲 采用教材 : 张铭, 王腾蛟, 赵海燕编写高等教育出版社,2008. 6 ( 十一五 国家级规划教材 ) https://pkumooc.coursera.org/bdsalgo-001/ 第二章线性表 2.1 线性表 2.2 顺序表 tail head a 0 a 1 a n-1 2.4 顺序表和链表的比较 2 链表 (linked list) 通过指针把它的一串存储结点链接成一个链

More information

Microsoft Word - 专升本练习2:线性表.doc

Microsoft Word - 专升本练习2:线性表.doc 第二章 线性表 一 选择题 1. 线性表是 ( ) A. 一个有限序列, 可以为空 B. 一个有限序列, 不能为空 C. 一个有限序列, 可以为空 D. 一个无序序列, 不能为空 2. 对顺序存储的线性表, 设其长度为 n, 在任何位置上插入或删除操作都是等概率 插入一个元素 时大约要移动表中的 ( ) 个元素, 删除一个元素时大约要移动表中的 ( ) 个元素 A. n/2 B. (n+1)/2 C.

More information

Microsoft PowerPoint - string_kruse [兼容模式]

Microsoft PowerPoint - string_kruse [兼容模式] Strings Strings in C not encapsulated Every C-string has type char *. Hence, a C-string references an address in memory, the first of a contiguous set of bytes that store the characters making up the string.

More information

ebook39-5

ebook39-5 5 3 last-in-first-out, LIFO 3-1 L i n e a r L i s t 3-8 C h a i n 3 3. 8. 3 C + + 5.1 [ ] s t a c k t o p b o t t o m 5-1a 5-1a E D 5-1b 5-1b E E 5-1a 5-1b 5-1c E t o p D t o p D C C B B B t o p A b o

More information

ENGG1410-F Tutorial 6

ENGG1410-F Tutorial 6 Jianwen Zhao Department of Computer Science and Engineering The Chinese University of Hong Kong 1/16 Problem 1. Matrix Diagonalization Diagonalize the following matrix: A = [ ] 1 2 4 3 2/16 Solution The

More information

Fun Time (1) What happens in memory? 1 i n t i ; 2 s h o r t j ; 3 double k ; 4 char c = a ; 5 i = 3; j = 2; 6 k = i j ; H.-T. Lin (NTU CSIE) Referenc

Fun Time (1) What happens in memory? 1 i n t i ; 2 s h o r t j ; 3 double k ; 4 char c = a ; 5 i = 3; j = 2; 6 k = i j ; H.-T. Lin (NTU CSIE) Referenc References (Section 5.2) Hsuan-Tien Lin Deptartment of CSIE, NTU OOP Class, March 15-16, 2010 H.-T. Lin (NTU CSIE) References OOP 03/15-16/2010 0 / 22 Fun Time (1) What happens in memory? 1 i n t i ; 2

More information

Microsoft Word - 数据结构实训与习题725xdy.doc

Microsoft Word - 数据结构实训与习题725xdy.doc 第一部分学习指导与实训 3 第 2 章线性表 2.1 学习指南 (1) 理解线性表的类型定义, 掌握顺序表和链表的结构差别 (2) 熟练掌握顺序表的结构特性, 熟悉顺序表的存储结构 (3) 熟练掌握顺序表的各种运算, 并能灵活运用各种相关操作 (4) 熟练掌握链式存储结构特性, 掌握链表的各种运算 2.2 内容提要 线性表的特点 : 线性表由一组数据元素构成, 表中元素属于同一数据对象 在线性表中,

More information

Microsoft PowerPoint - Model Checking a Lazy Concurrent List-Based Set Algorithm.ppt [Compatibility Mode]

Microsoft PowerPoint - Model Checking a Lazy Concurrent List-Based Set Algorithm.ppt [Compatibility Mode] Model Checking a Lazy Concurrent List-Based Set Algorithm ZHANG Shaojie, LIU Yang National University of Singapore Agenda Introduction Background Ourapproach Overview Linearizabilitydefinition Modelinglanguage

More information

ebook39-6

ebook39-6 6 first-in-first-out, FIFO L i n e a r L i s t 3-1 C h a i n 3-8 5. 5. 3 F I F O L I F O 5. 5. 6 5. 5. 6.1 [ ] q u e n e ( r e a r ) ( f r o n t 6-1a A 6-1b 6-1b D C D 6-1c a) b) c) 6-1 F I F O L I F ADT

More information

2/80 2

2/80 2 2/80 2 3/80 3 DSP2400 is a high performance Digital Signal Processor (DSP) designed and developed by author s laboratory. It is designed for multimedia and wireless application. To develop application

More information

<4D6963726F736F667420576F7264202D20B2F8A74AA4AF5FA578C657A175BCC6A6ECB6D7AC79A176BB50A46AB3B0A175A454BAF4A658A440A176AC46B5A6A641B1B4>

<4D6963726F736F667420576F7264202D20B2F8A74AA4AF5FA578C657A175BCC6A6ECB6D7AC79A176BB50A46AB3B0A175A454BAF4A658A440A176AC46B5A6A641B1B4> 2012 數 位 創 世 紀 學 術 實 務 國 際 研 討 會 徵 文 論 文 題 目 台 灣 數 位 匯 流 與 大 陸 三 網 合 一 政 策 再 探 The Continue Exploring Study on Policies of Taiwan s Digital Convergence and Mainland s Triple Play 作 者 : 莊 克 仁 Author: Ke-jen

More information

Preface This guide is intended to standardize the use of the WeChat brand and ensure the brand's integrity and consistency. The guide applies to all d

Preface This guide is intended to standardize the use of the WeChat brand and ensure the brand's integrity and consistency. The guide applies to all d WeChat Search Visual Identity Guidelines WEDESIGN 2018. 04 Preface This guide is intended to standardize the use of the WeChat brand and ensure the brand's integrity and consistency. The guide applies

More information

PowerPoint Presentation

PowerPoint Presentation 数据结构与算法 ( 二 ) 张铭主讲 采用教材 : 张铭, 王腾蛟, 赵海燕编写高等教育出版社,2008. 6 ( 十一五 国家级规划教材 ) https://pkumooc.coursera.org/bdsalgo-001/ 第二章 线性表 第二章线性表 2.1 线性表 2.2 顺序表 2.3 链表 {a 0, a 1,, a n 1 } a 0 a 1 a 2 a n-1 tail head a

More information

FY.DOC

FY.DOC 高 职 高 专 21 世 纪 规 划 教 材 C++ 程 序 设 计 邓 振 杰 主 编 贾 振 华 孟 庆 敏 副 主 编 人 民 邮 电 出 版 社 内 容 提 要 本 书 系 统 地 介 绍 C++ 语 言 的 基 本 概 念 基 本 语 法 和 编 程 方 法, 深 入 浅 出 地 讲 述 C++ 语 言 面 向 对 象 的 重 要 特 征 : 类 和 对 象 抽 象 封 装 继 承 等 主

More information

A Community Guide to Environmental Health

A Community Guide to Environmental Health 102 7 建 造 厕 所 本 章 内 容 宣 传 推 广 卫 生 设 施 104 人 们 需 要 什 么 样 的 厕 所 105 规 划 厕 所 106 男 女 对 厕 所 的 不 同 需 求 108 活 动 : 给 妇 女 带 来 方 便 110 让 厕 所 更 便 于 使 用 111 儿 童 厕 所 112 应 急 厕 所 113 城 镇 公 共 卫 生 设 施 114 故 事 : 城 市 社

More information

Microsoft PowerPoint - 2线性表.ppt [兼容模式]

Microsoft PowerPoint - 2线性表.ppt [兼容模式] 2 线性表 董洪伟 http://hwdong.com 1 主要内容 线性表的类型定义 即抽象数据类型 顺序实现 即用一连续的存储空间来表示 链式实现 即用链表实现 一元稀疏多项式 链表实现 2 线性表的类型定义 线性表 n 个元素的有限序列 数据项 元素 ( 记录 ) 姓名 学号 性别 年龄 班级 健康状况 王小林 790631 男 18 计 91 健康 陈红 790632 女 20 计 91 一般

More information

Microsoft PowerPoint - 8. 运算符重载 Operator Overloading.pptx

Microsoft PowerPoint - 8. 运算符重载 Operator Overloading.pptx 运算符重载 Operator Overloading class Point { public: ; double x_, y_; Why Operator Overloading? Point (double x =0, double y = 0):x_(x),y_(y) { int main(){ Point a(1., 2), b(3,4); Point c = a + b; return 0;

More information

穨control.PDF

穨control.PDF TCP congestion control yhmiu Outline Congestion control algorithms Purpose of RFC2581 Purpose of RFC2582 TCP SS-DR 1998 TCP Extensions RFC1072 1988 SACK RFC2018 1996 FACK 1996 Rate-Halving 1997 OldTahoe

More information

Important Notice SUNPLUS TECHNOLOGY CO. reserves the right to change this documentation without prior notice. Information provided by SUNPLUS TECHNOLO

Important Notice SUNPLUS TECHNOLOGY CO. reserves the right to change this documentation without prior notice. Information provided by SUNPLUS TECHNOLO Car DVD New GUI IR Flow User Manual V0.1 Jan 25, 2008 19, Innovation First Road Science Park Hsin-Chu Taiwan 300 R.O.C. Tel: 886-3-578-6005 Fax: 886-3-578-4418 Web: www.sunplus.com Important Notice SUNPLUS

More information

Microsoft PowerPoint - L17_Inheritance_v4.pptx

Microsoft PowerPoint - L17_Inheritance_v4.pptx C++ Programming Lecture 17 Wei Liu ( 刘 威 ) Dept. of Electronics and Information Eng. Huazhong University of Science and Technology May. 2015 Lecture 17 Chapter 20. Object-Oriented Programming: Inheritance

More information

OOP with Java 通知 Project 4: 4 月 18 日晚 9 点 关于抄袭 没有分数

OOP with Java 通知 Project 4: 4 月 18 日晚 9 点 关于抄袭 没有分数 OOP with Java Yuanbin Wu cs@ecnu OOP with Java 通知 Project 4: 4 月 18 日晚 9 点 关于抄袭 没有分数 复习 类的复用 组合 (composition): has-a 关系 class MyType { public int i; public double d; public char c; public void set(double

More information

Open topic Bellman-Ford算法与负环

Open topic   Bellman-Ford算法与负环 Open topic Bellman-Ford 2018 11 5 171860508@smail.nju.edu.cn 1/15 Contents 1. G s BF 2. BF 3. BF 2/15 BF G Bellman-Ford false 3/15 BF G Bellman-Ford false G c = v 0, v 1,..., v k (v 0 = v k ) k w(v i 1,

More information

27 :OPC 45 [4] (Automation Interface Standard), (Costom Interface Standard), OPC 2,,, VB Delphi OPC, OPC C++, OPC OPC OPC, [1] 1 OPC 1.1 OPC OPC(OLE f

27 :OPC 45 [4] (Automation Interface Standard), (Costom Interface Standard), OPC 2,,, VB Delphi OPC, OPC C++, OPC OPC OPC, [1] 1 OPC 1.1 OPC OPC(OLE f 27 1 Vol.27 No.1 CEMENTED CARBIDE 2010 2 Feb.2010!"!!!!"!!!!"!" doi:10.3969/j.issn.1003-7292.2010.01.011 OPC 1 1 2 1 (1., 412008; 2., 518052), OPC, WinCC VB,,, OPC ; ;VB ;WinCC Application of OPC Technology

More information

Improved Preimage Attacks on AES-like Hash Functions: Applications to Whirlpool and Grøstl

Improved Preimage Attacks on AES-like Hash Functions: Applications to Whirlpool and Grøstl SKLOIS (Pseudo) Preimage Attack on Reduced-Round Grøstl Hash Function and Others Shuang Wu, Dengguo Feng, Wenling Wu, Jian Guo, Le Dong, Jian Zou March 20, 2012 Institute. of Software, Chinese Academy

More information

Untitled-3

Untitled-3 SEC.. Separable Equations In each of problems 1 through 8 solve the given differential equation : ü 1. y ' x y x y, y 0 fl y - x 0 fl y - x 0 fl y - x3 3 c, y 0 ü. y ' x ^ y 1 + x 3 x y 1 + x 3, y 0 fl

More information

Strings

Strings Inheritance Cheng-Chin Chiang Relationships among Classes A 類 別 使 用 B 類 別 學 生 使 用 手 機 傳 遞 訊 息 公 司 使 用 金 庫 儲 存 重 要 文 件 人 類 使 用 交 通 工 具 旅 行 A 類 別 中 有 B 類 別 汽 車 有 輪 子 三 角 形 有 三 個 頂 點 電 腦 內 有 中 央 處 理 單 元 A

More information

新版 明解C++入門編

新版 明解C++入門編 511!... 43, 85!=... 42 "... 118 " "... 337 " "... 8, 290 #... 71 #... 413 #define... 128, 236, 413 #endif... 412 #ifndef... 412 #if... 412 #include... 6, 337 #undef... 413 %... 23, 27 %=... 97 &... 243,

More information

coverage2.ppt

coverage2.ppt Satellite Tool Kit STK/Coverage STK 82 0715 010-68745117 1 Coverage Definition Figure of Merit 2 STK Basic Grid Assets Interval Description 3 Grid Global Latitude Bounds Longitude Lines Custom Regions

More information

Fuzzy Highlight.ppt

Fuzzy Highlight.ppt Fuzzy Highlight high light Openfind O(kn) n k O(nm) m Knuth O(n) m Knuth Unix grep regular expression exact match Yahoo agrep fuzzy match Gais agrep Openfind gais exact match fuzzy match fuzzy match O(kn)

More information

中国人民大学商学院本科学年论文

中国人民大学商学院本科学年论文 RUC-BK-113-110204-11271374 2001 11271374 1 Nowadays, an enterprise could survive even without gaining any profit. However, once its operating cash flow stands, it is a threat to the enterprise. So, operating

More information

Microsoft Word - template.doc

Microsoft Word - template.doc HGC efax Service User Guide I. Getting Started Page 1 II. Fax Forward Page 2 4 III. Web Viewing Page 5 7 IV. General Management Page 8 12 V. Help Desk Page 13 VI. Logout Page 13 Page 0 I. Getting Started

More information

Microsoft Word - Final Exam Review Packet.docx

Microsoft Word - Final Exam Review Packet.docx Do you know these words?... 3.1 3.5 Can you do the following?... Ask for and say the date. Use the adverbial of time correctly. Use Use to ask a tag question. Form a yes/no question with the verb / not

More information

東莞工商總會劉百樂中學

東莞工商總會劉百樂中學 /2015/ 頁 (2015 年 版 ) 目 錄 : 中 文 1 English Language 2-3 數 學 4-5 通 識 教 育 6 物 理 7 化 學 8 生 物 9 組 合 科 學 ( 化 學 ) 10 組 合 科 學 ( 生 物 ) 11 企 業 會 計 及 財 務 概 論 12 中 國 歷 史 13 歷 史 14 地 理 15 經 濟 16 資 訊 及 通 訊 科 技 17 視 覺

More information

无类继承.key

无类继承.key 无类继承 JavaScript 面向对象的根基 周爱 民 / aimingoo aiming@gmail.com https://aimingoo.github.io https://github.com/aimingoo rand = new Person("Rand McKinnon",... https://docs.oracle.com/cd/e19957-01/816-6408-10/object.htm#1193255

More information

Microsoft Word - ch04三校.doc

Microsoft Word - ch04三校.doc 4-1 4-1-1 (Object) (State) (Behavior) ( ) ( ) ( method) ( properties) ( functions) 4-2 4-1-2 (Message) ( ) ( ) ( ) A B A ( ) ( ) ( YourCar) ( changegear) ( lowergear) 4-1-3 (Class) (Blueprint) 4-3 changegear

More information

untitled

untitled LBS Research and Application of Location Information Management Technology in LBS TP319 10290 UDC LBS Research and Application of Location Information Management Technology in LBS , LBS PDA LBS

More information

Microsoft Word - (web)_F.1_Notes_&_Application_Form(Chi)(non-SPCCPS)_16-17.doc

Microsoft Word - (web)_F.1_Notes_&_Application_Form(Chi)(non-SPCCPS)_16-17.doc 聖 保 羅 男 女 中 學 學 年 中 一 入 學 申 請 申 請 須 知 申 請 程 序 : 請 將 下 列 文 件 交 回 本 校 ( 麥 當 勞 道 33 號 ( 請 以 A4 紙 張 雙 面 影 印, 並 用 魚 尾 夾 夾 起 : 填 妥 申 請 表 並 貼 上 近 照 小 學 五 年 級 上 下 學 期 成 績 表 影 印 本 課 外 活 動 表 現 及 服 務 的 證 明 文 件 及

More information

國立中山大學學位論文典藏.PDF

國立中山大學學位論文典藏.PDF ( ) 2-1 p33 3-1 p78 3-2 p79 3-3 p80 3-4 p90 4-1 p95 4-2 p97 4-3 p100 4-4 p103 4-5 p105 4-6 p107 4-7 p108 4-8 p108 4-9 p112 4-10 p114 4-11 p117 4-12 p119 4-13 p121 4-14 p123 4-15 p124 4-16 p131 4-17 p133

More information

untitled

untitled 1 Outline 數 料 數 數 列 亂數 練 數 數 數 來 數 數 來 數 料 利 料 來 數 A-Z a-z _ () 不 數 0-9 數 不 數 SCHOOL School school 數 讀 school_name schoolname 易 不 C# my name 7_eleven B&Q new C# (1) public protected private params override

More information

Microsoft Word doc

Microsoft Word doc 中 考 英 语 科 考 试 标 准 及 试 卷 结 构 技 术 指 标 构 想 1 王 后 雄 童 祥 林 ( 华 中 师 范 大 学 考 试 研 究 院, 武 汉,430079, 湖 北 ) 提 要 : 本 文 从 结 构 模 式 内 容 要 素 能 力 要 素 题 型 要 素 难 度 要 素 分 数 要 素 时 限 要 素 等 方 面 细 致 分 析 了 中 考 英 语 科 试 卷 结 构 的

More information

untitled

untitled Co-integration and VECM Yi-Nung Yang CYCU, Taiwan May, 2012 不 列 1 Learning objectives Integrated variables Co-integration Vector Error correction model (VECM) Engle-Granger 2-step co-integration test Johansen

More information

K301Q-D VRT中英文说明书141009

K301Q-D VRT中英文说明书141009 THE INSTALLING INSTRUCTION FOR CONCEALED TANK Important instuction:.. Please confirm the structure and shape before installing the toilet bowl. Meanwhile measure the exact size H between outfall and infall

More information

國 史 館 館 刊 第 23 期 Chiang Ching-kuo s Educational Innovation in Southern Jiangxi and Its Effects (1941-1943) Abstract Wen-yuan Chu * Chiang Ching-kuo wa

國 史 館 館 刊 第 23 期 Chiang Ching-kuo s Educational Innovation in Southern Jiangxi and Its Effects (1941-1943) Abstract Wen-yuan Chu * Chiang Ching-kuo wa 國 史 館 館 刊 第 二 十 三 期 (2010 年 3 月 ) 119-164 國 史 館 1941-1943 朱 文 原 摘 要 1 關 鍵 詞 : 蔣 經 國 贛 南 學 校 教 育 社 會 教 育 掃 盲 運 動 -119- 國 史 館 館 刊 第 23 期 Chiang Ching-kuo s Educational Innovation in Southern Jiangxi and

More information

2015年4月11日雅思阅读预测机经(新东方版)

2015年4月11日雅思阅读预测机经(新东方版) 剑 桥 雅 思 10 第 一 时 间 解 析 阅 读 部 分 1 剑 桥 雅 思 10 整 体 内 容 统 计 2 剑 桥 雅 思 10 话 题 类 型 从 以 上 统 计 可 以 看 出, 雅 思 阅 读 的 考 试 话 题 一 直 广 泛 多 样 而 题 型 则 稳 中 有 变 以 剑 桥 10 的 test 4 为 例 出 现 的 三 篇 文 章 分 别 是 自 然 类, 心 理 研 究 类,

More information

软件测试(TA07)第一学期考试

软件测试(TA07)第一学期考试 一 判 断 题 ( 每 题 1 分, 正 确 的, 错 误 的,20 道 ) 1. 软 件 测 试 按 照 测 试 过 程 分 类 为 黑 盒 白 盒 测 试 ( ) 2. 在 设 计 测 试 用 例 时, 应 包 括 合 理 的 输 入 条 件 和 不 合 理 的 输 入 条 件 ( ) 3. 集 成 测 试 计 划 在 需 求 分 析 阶 段 末 提 交 ( ) 4. 单 元 测 试 属 于 动

More information

國家圖書館典藏電子全文

國家圖書館典藏電子全文 - - I - II - Abstract Except for few intellect games such as chess, mahjong, and poker games, role-play games in on-line games are the mainstream. As for the so-called RPG, briefly speaking, it is the

More information

epub83-1

epub83-1 C++Builder 1 C + + B u i l d e r C + + B u i l d e r C + + B u i l d e r C + + B u i l d e r 1.1 1.1.1 1-1 1. 1-1 1 2. 1-1 2 A c c e s s P a r a d o x Visual FoxPro 3. / C / S 2 C + + B u i l d e r / C

More information

WTO

WTO 10384 200015128 UDC Exploration on Design of CIB s Human Resources System in the New Stage (MBA) 2004 2004 2 3 2004 3 2 0 0 4 2 WTO Abstract Abstract With the rapid development of the high and new technique

More information

C 1

C 1 C homepage: xpzhangme 2018 5 30 C 1 C min(x, y) double C // min c # include # include double min ( double x, double y); int main ( int argc, char * argv []) { double x, y; if( argc!=

More information

1990-1997 1980-1997 Abstract The relationship between human resource development and economy increase has been an important research item with the coming of knowledge economy. In this paper, ahead item

More information

untitled

untitled II I Abstract Abstract This thesis mainly approaches Wu Wengying s ci poetry through his different class artistic style, and make a subject comment on the controversy of whether its has modernist element

More information

00. - 0-000 0 10 0 00-0 0 11 12 13 14 15 b 16 17 18 19 0 - 20 0 0-0 0 21 22 H.Mead 0-0 - ( ) 23 ( ) 24 ( ) 25 ( ) 26 27 00 0 00 0 28 29 30 31 ( ) 0 0 32 ( ) 33 ( ) 34 ( ) 35 ( ) 36 ( ) ( ) Northrop F.S.C.

More information

Microsoft PowerPoint - 第+2+章+线性表[check].ppt [兼容模式]

Microsoft PowerPoint - 第+2+章+线性表[check].ppt [兼容模式] 教学内容 1 线性表的定义和性质及基本运算 2 线性表的顺序存储结构 3 线性表的链式存储结构 4 多项式的代数运算 线性结构的特点 : 数据元素的非空有限集 存在唯一的一个被称作 第一个 的数据元素 ; 存在唯一的一个被称作 最后一个 的数据元素 ; 除第一个之外的数据元素均只有一个前驱 ; 除最后一个之外的数据元素均只有一个后继 例 : 法学系 8523101 第一个 数据元素 国贸系 8522105

More information

( ) ( ) ( ) ( )

( ) ( ) ( ) ( ) 95 7 89-114 * ( ) 600 544 * E-mailyingdear@gmail.com Tel0937-597234 90 95 7 1200 894 ( ) ( ) ( ) 501-1000 ( ) 91 1980 1989 ( 2001 ) 1 2004 1992 1 1994 212,254 151,989 6,020 2,344 38,473 105,152 0 1995

More information

2. 熟 读 题 目 3. 积 累 核 心 句 式 4. 列 出 每 道 题 的 提 纲 5. 构 造 各 部 分 的 论 证 模 板 6. 全 文 练 习 10 到 20 篇 文 章 如 何 分 析 Argument 题 目 1. Argument 题 目 的 文 字 结 构 1) 题 目 的 出

2. 熟 读 题 目 3. 积 累 核 心 句 式 4. 列 出 每 道 题 的 提 纲 5. 构 造 各 部 分 的 论 证 模 板 6. 全 文 练 习 10 到 20 篇 文 章 如 何 分 析 Argument 题 目 1. Argument 题 目 的 文 字 结 构 1) 题 目 的 出 GRE Revised General Test Analytical Writing 精 讲 精 练 班 笔 记 李 延 隆 新 浪 博 客 :http://blog.sina.com.cn/liyanlong76 新 浪 微 博 :http://weibo.com/liyanlong76 私 人 邮 箱 :liyanlong@xdf.cn 微 信 号 :liyanlong76 QQ: 676244491

More information

c_cpp

c_cpp C C++ C C++ C++ (object oriented) C C++.cpp C C++ C C++ : for (int i=0;i

More information

中国科学技术大学学位论文模板示例文档

中国科学技术大学学位论文模板示例文档 University of Science and Technology of China A dissertation for doctor s degree An Example of USTC Thesis Template for Bachelor, Master and Doctor Author: Zeping Li Speciality: Mathematics and Applied

More information

管道建模基础.ppt

管道建模基础.ppt AVEVA 2004.11.4 Pdms (database hierarchy) (PipeworkModelling) PIPE WORLD BRANCH PDMS FLANGE,Elbow.. SITE Pipe routing is probably the activity that consumes most time on any large project and it is also

More information

考試學刊第10期-內文.indd

考試學刊第10期-內文.indd misconception 101 Misconceptions and Test-Questions of Earth Science in Senior High School Chun-Ping Weng College Entrance Examination Center Abstract Earth Science is a subject highly related to everyday

More information

從詩歌的鑒賞談生命價值的建構

從詩歌的鑒賞談生命價值的建構 Viktor E. Frankl (logotherapy) (will-to-meaning) (creative values) Ture (Good) (Beauty) (experiential values) (attitudinal values) 1 2 (logotherapy) (biological) (2) (psychological) (3) (noölogical) (4)

More information

硕 士 学 位 论 文 论 文 题 目 : 北 岛 诗 歌 创 作 的 双 重 困 境 专 业 名 称 : 中 国 现 当 代 文 学 研 究 方 向 : 中 国 新 诗 研 究 论 文 作 者 : 奚 荣 荣 指 导 老 师 : 姜 玉 琴 2014 年 12 月

硕 士 学 位 论 文 论 文 题 目 : 北 岛 诗 歌 创 作 的 双 重 困 境 专 业 名 称 : 中 国 现 当 代 文 学 研 究 方 向 : 中 国 新 诗 研 究 论 文 作 者 : 奚 荣 荣 指 导 老 师 : 姜 玉 琴 2014 年 12 月 硕 士 学 位 论 文 论 文 题 目 : 北 岛 诗 歌 创 作 的 双 重 困 境 专 业 名 称 : 中 国 现 当 代 文 学 研 究 方 向 : 中 国 新 诗 研 究 论 文 作 者 : 奚 荣 荣 指 导 老 师 : 姜 玉 琴 2014 年 12 月 致 谢 文 学 是 我 们 人 类 宝 贵 的 精 神 财 富 两 年 半 的 硕 士 学 习 让 我 进 一 步 接 近 文 学,

More information

帝国CMS下在PHP文件中调用数据库类执行SQL语句实例

帝国CMS下在PHP文件中调用数据库类执行SQL语句实例 帝国 CMS 下在 PHP 文件中调用数据库类执行 SQL 语句实例 这篇文章主要介绍了帝国 CMS 下在 PHP 文件中调用数据库类执行 SQL 语句实例, 本文还详细介绍了帝国 CMS 数据库类中的一些常用方法, 需要的朋友可以参考下 例 1: 连接 MYSQL 数据库例子 (a.php)

More information

附件1:

附件1: 附 件 1: 全 国 优 秀 教 育 硕 士 专 业 学 位 论 文 推 荐 表 单 位 名 称 : 西 南 大 学 论 文 题 目 填 表 日 期 :2014 年 4 月 30 日 数 学 小 组 合 作 学 习 的 课 堂 管 理 攻 硕 期 间 及 获 得 硕 士 学 位 后 一 年 内 获 得 与 硕 士 学 位 论 文 有 关 的 成 果 作 者 姓 名 论 文 答 辩 日 期 学 科 专

More information

<4D6963726F736F667420576F7264202D2032303130C4EAC0EDB9A4C0E04142BCB6D4C4B6C1C5D0B6CFC0FDCCE2BEABD1A15F325F2E646F63>

<4D6963726F736F667420576F7264202D2032303130C4EAC0EDB9A4C0E04142BCB6D4C4B6C1C5D0B6CFC0FDCCE2BEABD1A15F325F2E646F63> 2010 年 理 工 类 AB 级 阅 读 判 断 例 题 精 选 (2) Computer mouse How does the mouse work? We have to start at the bottom, so think upside down for now. It all starts with mouse ball. As the mouse ball in the bottom

More information

C o n t e n t s...7... 15 1. Acceptance... 17 2. Allow Love... 19 3. Apologize... 21 4. Archangel Metatron... 23 5. Archangel Michael... 25 6. Ask for

C o n t e n t s...7... 15 1. Acceptance... 17 2. Allow Love... 19 3. Apologize... 21 4. Archangel Metatron... 23 5. Archangel Michael... 25 6. Ask for Doreen Virtue, Ph.D. Charles Virtue C o n t e n t s...7... 15 1. Acceptance... 17 2. Allow Love... 19 3. Apologize... 21 4. Archangel Metatron... 23 5. Archangel Michael... 25 6. Ask for a Sign... 27 7.

More information

UDC The Policy Risk and Prevention in Chinese Securities Market

UDC The Policy Risk and Prevention in Chinese Securities Market 10384 200106013 UDC The Policy Risk and Prevention in Chinese Securities Market 2004 5 2004 2004 2004 5 : Abstract Many scholars have discussed the question about the influence of the policy on Chinese

More information

提纲 1 2 OS Examples for 3

提纲 1 2 OS Examples for 3 第 4 章 Threads2( 线程 2) 中国科学技术大学计算机学院 October 28, 2009 提纲 1 2 OS Examples for 3 Outline 1 2 OS Examples for 3 Windows XP Threads I An Windows XP application runs as a seperate process, and each process may

More information

WTO OEM

WTO OEM 10384 200115142 UDC A Study on the Developing Strategy of Xiamen Evere Sports Goods Co., Ltd. A Case Study based on the Theory of Value Chain (MBA) 2005 5 2005 6 2005 5 2005 5 WTO OEM Abstract Abstract

More information

Microsoft Word - ChineseSATII .doc

Microsoft Word - ChineseSATII .doc 中 文 SAT II 冯 瑶 一 什 么 是 SAT II 中 文 (SAT Subject Test in Chinese with Listening)? SAT Subject Test 是 美 国 大 学 理 事 会 (College Board) 为 美 国 高 中 生 举 办 的 全 国 性 专 科 标 准 测 试 考 生 的 成 绩 是 美 国 大 学 录 取 新 生 的 重 要 依

More information

Chapter12 Derived Classes

Chapter12   Derived Classes 继 承 -- 派 生 类 复 习 1. 有 下 面 类 的 说 明, 有 错 误 的 语 句 是 : class X { A) const int a; B) X(); C) X(int val) {a=2 D) ~X(); 答 案 :C 不 正 确, 应 改 成 X(int val) : a(2) { 2. 下 列 静 态 数 据 成 员 的 特 性 中, 错 误 的 是 A) 说 明 静 态 数

More information

中山大學學位論文典藏

中山大學學位論文典藏 -- IEMBA 3 ii 4W2H Who( ) When( ) What( ) Why( ) How much( ) How to do( ) iii Abstract Pharmaceutical industry can be regard as one of the knowledge-intensive industries. Designing a sales promotion for

More information

Microsoft PowerPoint - ds-1.ppt [兼容模式]

Microsoft PowerPoint - ds-1.ppt [兼容模式] http://jwc..edu.cn/jxgl/ HomePage/Default.asp 2 说 明 总 学 时 : 72( 学 时 )= 56( 课 时 )+ 16( 实 验 ) 行 课 时 间 : 第 1 ~14 周 周 学 时 : 平 均 每 周 4 学 时 上 机 安 排 待 定 考 试 时 间 : 课 程 束 第 8 11 12 章 的 内 容 为 自 学 内 容 ; 目 录 中 标 有

More information

untitled

untitled 3 C++ 3.1 3.2 3.3 3.4 new delete 3.5 this 3.6 3.7 3.1 3.1 class struct union struct union C class C++ C++ 3.1 3.1 #include struct STRING { typedef char *CHARPTR; // CHARPTR s; // int strlen(

More information

Microsoft Word - TIP006SCH Uni-edit Writing Tip - Presentperfecttenseandpasttenseinyourintroduction readytopublish

Microsoft Word - TIP006SCH Uni-edit Writing Tip - Presentperfecttenseandpasttenseinyourintroduction readytopublish 我 难 度 : 高 级 对 们 现 不 在 知 仍 道 有 听 影 过 响 多 少 那 次 么 : 研 英 究 过 文 论 去 写 文 时 作 的 表 技 引 示 巧 言 事 : 部 情 引 分 发 言 该 生 使 在 中 用 过 去, 而 现 在 完 成 时 仅 表 示 事 情 发 生 在 过 去, 并 的 哪 现 种 在 时 完 态 成 呢 时? 和 难 过 道 去 不 时 相 关? 是 所 有

More information

( 1 ) ( 2 ) 395 1 723~728 2001 9 1 1 2691959 7 1 1982 11 4 2 1956 12 3 1988 9 2 1 22

( 1 ) ( 2 ) 395 1 723~728 2001 9 1 1 2691959 7 1 1982 11 4 2 1956 12 3 1988 9 2 1 22 2 2004 7 21~35 ( 1 ) ( 2 ) 395 1 723~728 2001 9 1 1 2691959 7 1 1982 11 4 2 1956 12 3 1988 9 2 1 22 ( 4 ) ( ) () 2 9 2 6 13 4 11 20 10 1 15 13 2 10 12 4 0 13+11 15 2 1 5 7 16 10 16 10 15 10 ( ) (1)13 13

More information

Microsoft Word - 第四組心得.doc

Microsoft Word - 第四組心得.doc 徐 婉 真 這 四 天 的 綠 島 人 權 體 驗 營 令 我 印 象 深 刻, 尤 其 第 三 天 晚 上 吳 豪 人 教 授 的 那 堂 課, 他 讓 我 聽 到 不 同 於 以 往 的 正 義 之 聲 轉 型 正 義, 透 過 他 幽 默 熱 情 的 語 調 激 起 了 我 對 政 治 的 興 趣, 願 意 在 未 來 多 關 心 社 會 多 了 解 政 治 第 一 天 抵 達 綠 島 不 久,

More information

世新稿件end.doc

世新稿件end.doc Research Center For Taiwan Economic Development (RCTED) 2003 8 1 2 Study of Operational Strategies on Biotechnology Pharmaceutical Products Industry in Taiwan -- Case Study on Sinphar Pharmaceutical Company

More information

Outline Speech Signals Processing Dual-Tone Multifrequency Signal Detection 云南大学滇池学院课程 : 数字信号处理 Applications of Digital Signal Processing 2

Outline Speech Signals Processing Dual-Tone Multifrequency Signal Detection 云南大学滇池学院课程 : 数字信号处理 Applications of Digital Signal Processing 2 CHAPTER 10 Applications of Digital Signal Processing Wang Weilian wlwang@ynu.edu.cn School of Information Science and Technology Yunnan University Outline Speech Signals Processing Dual-Tone Multifrequency

More information

3.1 num = 3 ch = 'C' 2

3.1 num = 3 ch = 'C' 2 Java 1 3.1 num = 3 ch = 'C' 2 final 3.1 final : final final double PI=3.1415926; 3 3.2 4 int 3.2 (long int) (int) (short int) (byte) short sum; // sum 5 3.2 Java int long num=32967359818l; C:\java\app3_2.java:6:

More information

LEETCODE leetcode.com 一 个 在 线 编 程 网 站, 收 集 了 IT 公 司 的 面 试 题, 包 括 算 法, 数 据 库 和 shell 算 法 题 支 持 多 种 语 言, 包 括 C, C++, Java, Python 等 2015 年 3 月 份 加 入 了 R

LEETCODE leetcode.com 一 个 在 线 编 程 网 站, 收 集 了 IT 公 司 的 面 试 题, 包 括 算 法, 数 据 库 和 shell 算 法 题 支 持 多 种 语 言, 包 括 C, C++, Java, Python 等 2015 年 3 月 份 加 入 了 R 用 RUBY 解 LEETCODE 算 法 题 RUBY CONF CHINA 2015 By @quakewang LEETCODE leetcode.com 一 个 在 线 编 程 网 站, 收 集 了 IT 公 司 的 面 试 题, 包 括 算 法, 数 据 库 和 shell 算 法 题 支 持 多 种 语 言, 包 括 C, C++, Java, Python 等 2015 年 3 月 份

More information

<4D6963726F736F667420576F7264202D20312E5FA473AEFCB867AED5AA605FBB50B04BCFC8AABAAFABB8DCACE3A8732E646F63>

<4D6963726F736F667420576F7264202D20312E5FA473AEFCB867AED5AA605FBB50B04BCFC8AABAAFABB8DCACE3A8732E646F63> 國 立 臺 南 大 學 人 文 與 社 會 研 究 學 報 第 44 卷 第 2 期 ( 民 國 99.10):1-24 山 海 經 校 注 與 袁 珂 的 神 話 研 究 鍾 佩 衿 國 立 政 治 大 學 中 文 研 究 所 碩 士 生 摘 要 作 為 中 國 神 話 研 究 的 重 要 學 者, 袁 珂 的 研 究 重 心 即 在 於 對 山 海 經 神 話 進 行 詮 釋 與 探 討 ; 研

More information

THE APPLICATION OF ISOTOPE RATIO ANALYSIS BY INDUCTIVELY COUPLED PLASMA MASS SPECTROMETER A Dissertation Presented By Chaoyong YANG Supervisor: Prof.D

THE APPLICATION OF ISOTOPE RATIO ANALYSIS BY INDUCTIVELY COUPLED PLASMA MASS SPECTROMETER A Dissertation Presented By Chaoyong YANG Supervisor: Prof.D 10384 070302 9825042 UDC 2001.6. 2001.7. 20016 THE APPLICATION OF ISOTOPE RATIO ANALYSIS BY INDUCTIVELY COUPLED PLASMA MASS SPECTROMETER A Dissertation Presented By Chaoyong YANG Supervisor: Prof.Dr. Xiaoru

More information

Microsoft PowerPoint - STU_EC_Ch08.ppt

Microsoft PowerPoint - STU_EC_Ch08.ppt 樹德科技大學資訊工程系 Chapter 8: Counters Shi-Huang Chen Fall 2010 1 Outline Asynchronous Counter Operation Synchronous Counter Operation Up/Down Synchronous Counters Design of Synchronous Counters Cascaded Counters

More information

Microsoft PowerPoint - ds_2.ppt

Microsoft PowerPoint - ds_2.ppt 第二章线性表 2.1 线性表的概念 2.2 顺序表示 2.3 链接表示 2.4 应用举例 -Josehus 问题另外介绍 动态顺序表 程序里常需要保存一批某种类型的元素, 这些元素的数目可能变化 ( 可以加入或删除元素 ) 有时需要把这组元素看成一个序列, 元素的顺序可能表示实际应用中的某种有意义的关系这样一组元素可以抽象为元素的一个线性表 线性表是元素的集合, 同时记录了元素的顺序关系 线性表是一种最基本的数据结构,

More information

Microsoft Word - 11月電子報1130.doc

Microsoft Word - 11月電子報1130.doc 發 行 人 : 楊 進 成 出 刊 日 期 2008 年 12 月 1 日, 第 38 期 第 1 頁 / 共 16 頁 封 面 圖 話 來 來 來, 來 葳 格 ; 玩 玩 玩, 玩 數 學 在 11 月 17 到 21 日 這 5 天 裡 每 天 一 個 題 目, 孩 子 們 依 據 不 同 年 段, 尋 找 屬 於 自 己 的 解 答, 這 些 數 學 題 目 和 校 園 情 境 緊 緊 結

More information

McGraw-Hill School Education Group Physics : Principles and Problems G S 24

McGraw-Hill School Education Group Physics : Principles and Problems G S 24 2017 4 357 GLOBAL EDUCATION Vol. 46 No4, 2017 * 1 / 400715 / 400715 / 400715 1 2010-2020 2 * mjzxzd1401 2012 AHA120008 1 23 3 4-7 8 9 McGraw-Hill School Education Group Physics : Principles and Problems

More information

OOP with Java 通知 Project 4: 4 月 19 日晚 9 点

OOP with Java 通知 Project 4: 4 月 19 日晚 9 点 OOP with Java Yuanbin Wu cs@ecnu OOP with Java 通知 Project 4: 4 月 19 日晚 9 点 复习 类的复用 组合 (composition): has-a 关系 class MyType { public int i; public double d; public char c; public void set(double x) { d

More information

Microsoft Word - 武術合併

Microsoft Word - 武術合併 11/13 醫 學 系 一 年 級 張 雲 筑 武 術 課 開 始, 老 師 並 不 急 著 帶 我 們 舞 弄 起 來, 而 是 解 說 著 支 配 氣 的 流 動 為 何 構 成 中 國 武 術 的 追 求 目 標 武 術, 名 之 為 武 恐 怕 與 其 原 本 的 精 義 有 所 偏 差 其 實 武 術 是 為 了 讓 學 習 者 能 夠 掌 握 身 體, 保 養 身 體 而 發 展, 並

More information

C/C++ 语言 - 循环

C/C++ 语言 - 循环 C/C++ Table of contents 7. 1. 2. while 3. 4. 5. for 6. 8. (do while) 9. 10. (nested loop) 11. 12. 13. 1 // summing.c: # include int main ( void ) { long num ; long sum = 0L; int status ; printf

More information

Microsoft Word - 物件導向編程精要.doc

Microsoft Word - 物件導向編程精要.doc Essential Object-Oriented Programming Josh Ko 2007.03.11 object-oriented programming C++ Java OO class object OOP Ruby duck typing complexity abstraction paradigm objects objects model object-oriented

More information

A dissertation for Master s degree Metro Indoor Coverage Systems Analysis And Design Author s Name: Sheng Hailiang speciality: Supervisor:Prof.Li Hui,

A dissertation for Master s degree Metro Indoor Coverage Systems Analysis And Design Author s Name: Sheng Hailiang speciality: Supervisor:Prof.Li Hui, 中 国 科 学 技 术 大 学 工 程 硕 士 学 位 论 文 地 铁 内 移 动 通 信 室 内 覆 盖 分 析 及 应 用 作 者 姓 名 : 学 科 专 业 : 盛 海 亮 电 子 与 通 信 导 师 姓 名 : 李 辉 副 教 授 赵 红 媛 高 工 完 成 时 间 : 二 八 年 三 月 十 日 University of Science and Technology of Ch A dissertation

More information

第三章 国内外小组合作学习的应用情况

第三章 国内外小组合作学习的应用情况 摘 要 论 文 题 目 : 小 组 合 作 学 习 在 上 海 高 中 信 息 科 技 教 学 中 的 应 用 专 业 : 现 代 教 育 技 术 学 位 申 请 人 : 朱 翠 凤 指 导 教 师 : 孟 琦 摘 要 小 组 合 作 学 习 是 目 前 世 界 上 许 多 国 家 普 遍 采 用 的 一 种 富 有 创 意 的 教 学 理 论 与 策 略, 其 在 培 养 学 生 的 合 作 精

More information

南華大學數位論文

南華大學數位論文 南 華 大 學 ( 文 學 所 ) 碩 士 論 文 論 文 題 目 ( 陳 千 武 小 說 活 著 回 來 及 其 相 關 事 例 研 究 ) 論 文 題 目 (Chen Chien Wu Return Alive And Some Research About It) 研 究 生 : 朱 妍 淩 指 導 教 授 : 林 葉 連 中 華 民 國 一 0 一 年 6 月 8 日 陳 千 武 小 說

More information

豐佳燕.PDF

豐佳燕.PDF Application of Information Literacy to chiayen@estmtc.tp.edu.tw information literacy Theme-oriented teaching. Abstract Based on the definition of Information Literacy and Six core concepts of the problem

More information

C++ 程序设计 OJ9 - 参考答案 MASTER 2019 年 6 月 7 日 1

C++ 程序设计 OJ9 - 参考答案 MASTER 2019 年 6 月 7 日 1 C++ 程序设计 OJ9 - 参考答案 MASTER 2019 年 6 月 7 日 1 1 CARDGAME 1 CardGame 题目描述 桌上有一叠牌, 从第一张牌 ( 即位于顶面的牌 ) 开始从上往下依次编号为 1~n 当至少还剩两张牌时进行以下操作 : 把第一张牌扔掉, 然后把新的第一张放到整叠牌的最后 请模拟这个过程, 依次输出每次扔掉的牌以及最后剩下的牌的编号 输入 输入正整数 n(n

More information

南華大學數位論文

南華大學數位論文 The Digital Divide on the Remote Area: Regarding the community of Ta-Pang in Mt. A-li Abstract Base on the coming of information society, the digital science and technology usage suppose to be the basic

More information

Abstract Since 1980 s, the Coca-Cola came into China and developed rapidly. From 1985 to now, the numbers of bottlers has increased from 3 to 23, and

Abstract Since 1980 s, the Coca-Cola came into China and developed rapidly. From 1985 to now, the numbers of bottlers has increased from 3 to 23, and Abstract Since 1980 s, the Coca-Cola came into China and developed rapidly. From 1985 to now, the numbers of bottlers has increased from 3 to 23, and increases ulteriorly. When the Coca-Cola company came

More information

南華大學數位論文

南華大學數位論文 I II Title of Thesis: The Analysis on the Need of Reading on the Journal of Foreign Lablr for Foreign Labors and their Employers Name of Institute: Graduate of Publishing Organizations Management Institute

More information