数据结构与程序设计(王丽苹)29multiway.ppt
《数据结构与程序设计(王丽苹)29multiway.ppt》由会员分享,可在线阅读,更多相关《数据结构与程序设计(王丽苹)29multiway.ppt(29页珍藏版)》请在三一办公上搜索。
1、5/27/2023,数据结构与程序设计,1,数据结构与程序设计(29)Chapter11 Multiway Trees,王丽苹,5/27/2023,数据结构与程序设计,2,Tries(retrieval):Lexicographic Search TreesP531,DEFINITION A trie of order m is either empty or consists of an ordered sequence of exactly m tries of order m.Figure 11.7 Trie of words constructed from a,b,c,5/27/20
2、23,数据结构与程序设计,3,5/27/2023,数据结构与程序设计,4,Tries(retrieval):Lexicographic Search Trees特点分析,Tries 经常用于词法的查找。m tries 的第一层表示要查找单词的第一个字母,第二层为要查找单词的第二字母,.m tries 的每一个节点的结构相同,包含m个孩子指针项,一个数据项。m表示在查找单词集合中出现的字母数。,5/27/2023,数据结构与程序设计,5,C+Trie Declarations,Every Record has a Key that is an alphanumeric string.Method
3、 char key_letter(int position)returns the character in the given position of the key or returns a NONE,if the key has length less than position.E.g.key1:”interesting”key1.key_letter(2)return t,5/27/2023,数据结构与程序设计,6,C+Trie Declarations,function int alphabetic_order(char symbol)returns the alphabetic
4、position of the character symbol,or 27 for nonblank,nonalphabetic characters,or 0 for blank,NONE characters.E.g.alphabetic_order(c)return 3alphabetic_order(5)return 27alphabetic_order()return 0,5/27/2023,数据结构与程序设计,7,TrieTrie_node,#include Record.hconst int num_chars=28;struct Trie_node/data membersR
5、ecord*data;Trie_node*branchnum_chars;/constructorsTrie_node();,5/27/2023,数据结构与程序设计,8,TrieTrie_node,Trie_node*branchnum_chars;,Record*data;,Branch0,Branch27,Branch15,Key:“watermelon”Content:”西瓜:一种非洲藤本植物”,Record*data,Trie_node*branchnum_chars;,5/27/2023,数据结构与程序设计,9,TrieTrie_node,#include Trie_node.hTr
6、ie_node:Trie_node()data=NULL;for(int i=0;inum_chars;i+)branchi=NULL;,5/27/2023,数据结构与程序设计,10,TrieTrie_node-Key,#include String.h#include iostream.hconst int key_size=10;class Key char strkey_size;public:Key(char s);char*the_key()const;char key_letter(int position)const;,5/27/2023,数据结构与程序设计,11,TrieTri
7、e_node-Key,#include Key.hKey:Key(char s)for(int i=0;i=strlen(s);i+)stri=si;char*Key:the_key()constreturn(char*)str;char Key:key_letter(int position)constif(positionstrlen(str)return strposition;else return 0;,5/27/2023,数据结构与程序设计,12,TrieTrie_node-Record,#include Key.hclass Recordpublic:operator Key()
8、;/implicit conversion from Record to Key.Record(char s=“,string con=“”);char*the_key()const;char key_letter(int position)const;private:char strkey_size;string content;ostream,5/27/2023,数据结构与程序设计,13,TrieTrie_node-Record,#include Record.hRecord:Record(char s,string con)for(int i=0;i=strlen(s);i+)stri=
9、si;content=con;Record:operator Key()Key tmp(str);,5/27/2023,数据结构与程序设计,14,TrieTrie_node-Record,char Record:key_letter(int position)constif(positionstrlen(str)return strposition;else return 0;char*Record:the_key()constreturn(char*)str;ostream,5/27/2023,数据结构与程序设计,15,Trie-declaration,#include Trie_node.
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据结构 程序设计 王丽苹 29 multiway
链接地址:https://www.31ppt.com/p-4980277.html