大话数据结构 - 串
1. 串的定义
串是由0个或多个字符组成的有限序列,也叫做字符串。串中 字符数目n称为串的长度。
子串:串中任意个数的连续字符组成的子序列称为该字符串的子串,包含该子串的串称为主串。子串中的位置就是该子串第一个字符在主串中的序号。
2. 串的比较
计算机的字符串标准包括:ASCII码和Unicode码。其中ASCII由8位二进制组成,可以表达256个字符;Unicode由16位二进制组成,可以表达65536个字符。当然unicode前面256个字符与ASCII一致。
3. 串的抽象数据类型
串的逻辑结构和线性表很相似,不同之处在于串针对的是字符。
4. 串的存储结构
串的存储结构与线性表相同,分为两种:顺序存储结构,链式存储结构。
4.1 串的顺序存储结构
串的顺序存储结构使用数组来存储,字符串的实际长度通可以存在数组的第一个位置,最后一个位置等。顺序存储结构的最大缺点在于字符串在进行一个操作,比如字符串合并等可能会导致溢出,字符串的长度超过数组长度。
4.2 串的链式存储结构
串的链式存储结构与链表类似,不同之处在于每个节点可能存储多个字符。
5. 朴素的模式匹配算法
简单的讲,字符串匹配最简单的目的就是找某个字符串中是否包含另外一个字符串,如果包含则返回位置。比如在Python中有这样find函数来实现功能。
# -*- coding: utf-8 -*-str_m = "abaababaddecab" # 母串
str_s = "abad" # 子串pos = str_m.find(str_s)
6.KMP模式匹配算法
reference:
http://www.cnblogs.com/c-cloud/p/3224788.html
http://www.cnblogs.com/huangxincheng/archive/2012/12/01/2796993.html
大话数据结构 - 串相关推荐
- 大话数据结构及JAVA数据结构阅读笔记
目录 一.大话数据结构随书阅读笔记 第一章 数据结构概述 第二章 算法概述 第三章 线性表 第四章 栈与队列 第五章 串 第六章 树 第七章 图 第八章 查找 第九章 排序 二.大话数据结构思维导图 ...
- 《大话数据结构》读书笔记-串
写在前面:本文仅供个人学习使用.<大话数据结构>通俗易懂,适合整体做笔记输出,构建体系.并且文中很多图片来源于该书. 文章目录 5.2 串的定义 5.3串的比较 5.4串的抽象数据类型 5 ...
- 大话数据结构读书笔记艾提拉总结 查找算法 和排序算法比较好 第1章数据结构绪论 1 第2章算法 17 第3章线性表 41 第4章栈与队列 87 第5章串 123 第6章树 149 第7章图 21
大话数据结构读书笔记艾提拉总结 查找算法 和排序算法比较好 第1章数据结构绪论 1 第2章算法 17 第3章线性表 41 第4章栈与队列 87 第5章串 123 第6章树 149 第7章图 211 第 ...
- 《大话数据结构》3、4、5线性表、栈与队列、串
第3章线性表 41 线性表:零个或多个数据元素的有限序列. 3.1开场白 42 门外家长都挤在大门口与门里的小孩子的井然有序,形成了鲜明对比.哎,有时大人的所作所为,其实还不如孩子. 3.2线性表的定 ...
- 《大话数据结构》读书笔记-图
写在前面:本文仅供个人学习使用.<大话数据结构>通俗易懂,适合整体做笔记输出,构建体系.并且文中很多图片来源于该书,如有侵权,请联系删除. 文章目录 7.2 图的定义 7.2.1 各种图定 ...
- 【学习总结】《大话数据结构》- 总
参考教程: <大话数据结构>- 清华大学出版社, ISBN编号: 9787302255659 ----------------------------- 目录: 第1章-数据结构绪论 第2 ...
- 数据结构—串-基本知识点(第五章)
目录 1. 串的定义 2. 串的比较 3. 串的抽象数据类型 4. 串的存储结构 4.1 串的顺序存储结构 4.2 串的链式存储结构 5. 朴素的模式匹配算法 6. KMP模式匹配算法 1. KMP模 ...
- 《大话数据结构》总结一下
之前老婆的购书福利买了一些书,买了一本<大话数据结构>,这个假期有时间看了一下. 说实话,书一般,不太适合计算机科班的人看,插科打诨的内容比较多,有些内容不太严谨.前面的内容还好,后面就一 ...
- 分析《大话数据结构》
1 引言 本文将从<大话数据结构>的内容.特点以及评价三个方面进行介绍,以帮助网友了解这本书. 2 内容 本书以一个计算机教师教学为场景,讲解数据结构和相关算法的知识. 内容有以下板块: ...
- 《大话数据结构》相关主题
原文地址为: <大话数据结构>相关主题 <大话数据结构>读者须知 <大话数据结构>第三次印刷已将勘误中的错误修正,在2011年12月在各大网上书店中有售.再次向已经 ...
最新文章
- 北京大学 李胜 计算机,计算机科学技术系汪国平-李胜团队在虚拟现实领域取得系列进展...
- 你真的了解防火墙吗?
- php websocket 心跳包,websocket 心跳包重连
- 清华镜像:zookeeper
- ant部署web工程模板
- [转载] numpy.inf
- SpringMVC基础配置
- mysql+instr查询,mysql中使用instr进行模糊查询方法介绍
- 项目管理十大知识领域(五)--- 项目质量管理(过程、输入、工具和技术、输出)
- 众觅,让支付宝『到位』全国到位
- STM32L476 FLASH option bytes
- cp: omitting directory `XXX'问题解决
- Python画玫瑰花源代码
- getline()的使用详解
- 查看当前Ubuntu系统的版本
- java遍历类中所有字段
- 推荐系统的常用算法,选择,漫谈,推荐系统开源软件汇总
- 大数据开发·关于虚拟机Hadoop完全分布式集群搭建教程
- 区块链学习笔记21——ETH智能合约
- 帧间预测(三)symmetric MVD mode