软考设计师15-数据结构01

日常管理,先上思维导图

线性表

1 定义:n个元素的有限序列,通常记为(a1,a2,...,an)

2 特点:存在唯一表头表尾,直接前驱,直接后继

3 存储

1)顺序存储

定义:用一组地址连续的存储单元依次存储线性表中的数据元素,逻辑、物理紧邻,类似数组

优劣:可随机存取元素,但修/删需要移动大量元素

2)链式存储

定义:用结点来存储数据元素,逻辑紧邻,物理(不)连续

优劣:插/删不需移动元素,但增加了存储开销,不能随机访问结点(保存数据域和指针域)

延伸:1)双向链表:每个结点包含两个指针,指明直接前驱和直接后继元素,可在两个方向上遍历链表

          2)循环链表:表尾结点的指针指向表头结点,可在任何位置遍历整个元素

          3)静态链表:借助数组来描述线性表的连接存储方式

4 线性表的插入和删除

1)顺序存储结构

挪元素,插入;删元素,挪动

2)链式存储结构

实质:对相关指针的修改


插入、删除

插入:先读取P指针next指向,即b地址;

           让C指向它;

           然后让P指向C的地址;

删除:a指向被删除元素(b)指向的元素c

1 概念:通过一端(栈顶)实现数据存储和检索的一种线性表,有栈底,先进后出

2  存储结构

1)顺序存储

增加指针top指向栈顶元素

2)链式存储(链栈)

不必设头节点(栈顶操作),头指针=栈顶指针

队列

1 概念:先进先出的线性表,一端插入(对尾),另一端删除(对头)

2 存储结构

1)顺序存储

设置队头/尾两个指针

2)链式存储(链队列)

添加头结点,指向头指针。

队列为头指针=尾指针,指向头节点

1 概念:由字符构成的有限序列,取值范围受限的线性表。记为S=’a1 a2 a3 ... an‘,S是串名,右边是串值

2 特例:1)空串:长度为零 的串,,无任何字符

              2)空格串:一/多个空格串构成的串

             3)子串:由串中任意长度的连续字符构成的序列,类似子集。

                      子串在主串中的位置是该子串(首席出现)的第一个字符在主串中的位置。

空串是任意串的子串,例:cb

             4)主串:包含字符的串,例:abcddcc

             5)串相等:两个串长度相等,且对应位置上的字符相同

             6)串比较:依次比较字符ASCII码,先大者大,始终相等,串长者大

                    a:97 、A:95、0 :48

 3 串的存储结构

 串结束以 \0 结束

 1)顺序存储

  用一组地址连续的存储单元来存储串值的字符序列

 2)链式存储

  每个结点可存一/多个字符,考虑存储密度问题

树前面有说过

KMP算法

1 概念:字符串匹配算法 

2 实现:实现一个next()函数,函数本身包含了模式串的局部匹配信息

部分匹配表位数:

字符串(已匹配字符串)

1)前缀:除了最后一个字符外,所有以最后一个字符结尾的子串

2)后缀:除了第一一个字符外,所有以第一个字符开头的子串

3)部分匹配位数:前缀和后缀共有元素对应的长度

3 移动位数:已匹配位数-部分匹配位数

4 例题(若next[j]可取两个数,则取其中较大的)

1 概念:由两个集合V和E构成的二元组,记作:G=(V,E)。

         V是顶点的非空有限集合

         E是图中边的有限集合

2 1)有向图:G的每条边有方向;顶点间关系<vi,vj>

   2)无向图:G的每条边都无方向;顶点关系(vi,vj)

   3)完全图:G的任意两个顶点都有一条边相连接

    1)有向完全图:边数:n(n-1)

    2)无向完全图:边数:n(n-1)/2

3 度:顶点V的度是与它相关联的边的条数,以下两者之和

    1)入度:以V为终点的有向边的条数 ID(V)

    2)出度:以V为始点的条数OD(V)

4 带权图

边上带权的图,权指每条边上的数

5 连通图

连通图:无向图中从一个结点到任意一个结点有路径相连。边的数目>=顶点数目-1

强连通图:对于任意两个顶点,存在到双方的有向路径。

6 生成树

    1)极小连通子图,n个结点,n-1条边

         若添加一条边,构成一个环,减去一条边,非联通图

     2)最小生成树:带全路径和最小

7 图的存储结构

 1)邻接矩阵

n个结点的图,可使用n*n的矩阵(二维数组)表示邻接关系

2)邻接表

由表头结点和表结点两部分组成


8 图的遍历

  1)深度优先搜索(DFS)

q

  2)广度优先搜索(BFS)


拓扑排序

AOV网:有向无序图。类似前驱图

AOV顶点的顺序称为拓扑序列

拓扑排序:

 1)从AOV网中选择一个没有前驱的顶点输出它

 2)删除该顶点,且删除所有以该顶点为尾的弧

 3)迭代

拓扑序列不唯一

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,772评论 6 477
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,458评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,610评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,640评论 1 276
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,657评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,590评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,962评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,631评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,870评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,611评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,704评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,386评论 4 319
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,969评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,944评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,179评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 44,742评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,440评论 2 342

推荐阅读更多精彩内容