ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

数据结构篇_知识点板块_第四章串

2022-04-21 11:03:55  阅读:143  来源: 互联网

标签:子串 知识点 存储 字符 结点 数据结构 第四章 指针


  • 数据结构篇为本人考研时所写笔记,包括知识点和编程思想两大板块,笔记内容依据王道数据结构考研书所写,但比书本上知识更加生动形象,愿本篇章能对您有所帮助

四、串(字符串简称串)

  1. 串是由零个或多个字符组成的有限序列

  2. 串常量在程序中只能引用但不能改变其值,串变量取值可以改变

  3. 空串用⊘表示

  4. 空串是任意串的子串;任意串是自身的子串

  5. 子串在主串中的位置以子串的第一个字符在子串中位置来表示

  6. 串的逻辑结构和线性表极为相似,区别仅在于串的数据对象限定为字符集

  7. 串的存储结构:

① 顺序存储:

(1) 截断:超过预定义长度的串会被舍去

(2) 对于串长的表示:一般将数组的data[0]舍弃不存从data[1]开始存储,并且设立独立的变量len来存放串长度;故串的下标从1开始计数

② 堆存储(动态数组):

(1) 用malloc()和free()函数来完成动态存储,malloc()产生的串存储在堆中,若分配成功返回一个指向起始地址的指针,若分配失败则返回NULL

③ 块链存储:

(1) 每个结点可存放一个或多个字符(每个结点称为块)

(2) 当存放多个数组时结点占不满可以用“#”或“\0”等补上

(3) 若结点中存储的数据低于为4B的指针域的指针,则说该存储密度低,故一般采用存储4B数据的方法

  1. 串的应用举例:建立词索引表和文件编辑

  2. n为主串长,m为子串长,则串的朴素匹配最坏情况下需要比较字符的总次数为(n-m+1)*m

标签:子串,知识点,存储,字符,结点,数据结构,第四章,指针
来源: https://www.cnblogs.com/oten/p/16173143.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有