第12章 字符串、栈-浙江高中信息技术知识点

2024-10-09
| 4页
| 86人阅读
| 7人下载
教辅
宁波诸事皆成教育科技有限公司
进店逛逛

资源信息

学段 高中
学科 信息技术
教材版本 -
年级 高三
章节 -
类型 学案-知识清单
知识点 -
使用场景 高考复习
学年 2024-2025
地区(省份) 浙江省
地区(市) -
地区(区县) -
文件格式 PDF
文件大小 346 KB
发布时间 2024-10-09
更新时间 2024-10-09
作者 宁波诸事皆成教育科技有限公司
品牌系列 -
审核时间 2024-10-09
下载链接 https://m.zxxk.com/soft/47832717.html
价格 2.00储值(1储值=1元)
来源 学科网

内容正文:

浙江高中技术培优算法(陶小波) 48 第十二章 字符串、栈 1. 字符串是由零个或多个字符组成的有限组合。 2. 字符集是多个字符的集合。种类较多,每个字符集包含的字符个数不同,常 见的字符集有ASCII码字符集、GB2312字符集、GBK字符集、BIG5 字符集、GB18030 字符集、Unicode 字符集 3. 字符串空串:空串是不包含任何字符的串,其长度为 0 4. 字符串空格串:空格串是由空格组成的字符串,其长度为空格字符的个数 5. 字符串特性:1.有限序列性、2.字符串的可比性 6. 字符串是一种线性结构,它的数据元素个数是有限的,由 0 个或多个字符组 成,可以用元素在字符串中的相对位置作为标号来访问每个元素。在用 Python 实现的字符串中,由正索引符号和负索引标号。字符串”Hello World” 索引如 下图 7. 字符串切片与常用函数 详见本篇第三章 8. 正则表达式:正则表达式是用一些特定的字符组成的一个“规则字符串”。 它可以实现检查一个字符串中是否包含由某种子串、将匹配的子串替换或者从字 符串中取出符合某个条件的子串等操作 9. 队列是一种先进先出的线性表,允许插入的一端称为队尾,允许删除的一端 称为队首。 10. 队列中的数据元素称为队列元素,在队列中插入一个元素称为入队,从队列 中删除一个元素称为出队。如下图 11. 队列的特性:1.先进先出、后进后出,2.有限序列性 12. 队列也是一种线性表结构,元素个数是有限的。队列可以是空的,也可以包 含多个元素。队列中所有元素呈现线性特征,队首元素只有一个后继点,队尾元 素只有一个前驱点,其他元素既有一个前驱点,又有一个后继点。 13. 常见队列的操作有:入队、出队 浙江高中技术培优算法(陶小波) 49 14. Python 中自带队列对象 Queue,本文采用列表实现和 Queue 对象实现两种方 法 队列 head=tail=0 #头尾指针 ls=[] #空队列 ls.append("A") #入队 tail+=1 ls.append("B")#入队 tail+=1 ls.append("C")#入队 tail+=1 while head<tail:#出队 print(ls[head]) head+=1 列表实现 from queue import Queue q = Queue(maxsize=5) q.put("满分") q.put("计划") q.put("陶小波") print(q.queue) # 输出队列 结果 ['满分', '计划', '陶小 波'] q.get() # 出队列 先入先出 print(q.queue) # 输出队列 结果 ['计划', '陶小波'] print(q.empty()) # 判断是否为空 结果 False print(q.qsize()) # 输出队列元素数量 结果 2 print(q.full()) # 判断是否满队列 结果 False Queue 对象实现 15. 栈也是一种操作受限的线性表,仅允许在表的一端进行插入或删除。进行插 入或删除的操作的一端称为栈顶,位于栈顶位置的元素称为栈顶元素;相应的将 表的另一端称为栈底,位于栈低位置的元素为栈底元素 16. 栈的特性:1.先进后出、后进先出、2.有限序列性 17. 栈中的元素也是有限的。栈可以是空的,也可以包含多个元素。栈中元素呈 现线性关系,栈顶元素有一个前驱点,栈底元素有一个后继点,其他元素既有一 个前驱点,也有一个后继点 如下图 浙江高中技术培优算法(陶小波) 50 18. 栈的代码如下: Python 中自带队列对象 LifoQueue 实现栈,本文采用列表实现和 LifoQueue 对象实现两 种方法实现 import queue q = queue.LifoQueue(maxsize=5) q.put("满分") q.put("计划") q.put("陶小波") print(q.queue) # 输出栈结果 ['满分', '计划', '陶 小波'] q.get() # 出栈 print(q.queue) # 输出栈 结果 ['满分', '计划'] print(q.empty()) # 判断是否为空 print(q.qsize()) # 输出栈元素数量 print(q.full()) # 判断是否满栈 LifoQueue 对象实现 栈 ls = [] # 空栈 top = -1 # 栈顶 ls.append("A") # 入栈 top += 1 ls.append("B") # 入栈 top += 1 ls.append("C") # 入栈 top += 1 while top != -1: # 出栈 print(ls[top]) top -= 1 列表实现 浙江高中技术培优算法(陶小波) 51 (一)判定 b是否为 a 某栈的出栈顺序 def isstack(a,b): stack = [] i = j = 0 while i < len(a): stack.append(a[i]) i += 1 while len(stack) > 0 and stack[-1] == b[j]: stack.pop() j += 1 if len(stack) == 0 and i == j == len(a): return True else: return False a = [1, 2, 3, 4, 5] ls=[2,1,5,3,4] if isstack(a,ls): print(ls,"是",a,"的出栈序列") else: print(ls, "不是", a, "的出栈序列")

资源预览图

第12章 字符串、栈-浙江高中信息技术知识点
1
第12章 字符串、栈-浙江高中信息技术知识点
2
所属专辑
相关资源
由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。