wenyl 的个人博客 wenyl 的个人博客
Tags Archives Links
  • 开始使用
  • Tags
  • Archives
  • Links
  • Search
  • RSS
一、栈 1.1 基本概念 栈是只允许在一端进行插入或删除操作的线性表,这意味着我们可以使用顺序表或者链表的形式来实现一个栈,遵循后进先出的原则 栈顶 线性表允许插入或删除的一端 栈底 不允许插入或删除的一端 空栈 不含有元素的空表 1.2 基本操作 InitStack 初始化一个空栈S Push 入栈 Pop 出栈 GetTop 获取栈顶元素 PrintStack(&S) 遍历栈元素 出栈入栈流程如下 1.3 栈的实现 栈是一个线性表,可以使用顺序表实现,也可以使用链表实现 1.3.1 栈的顺序表实现 使用顺序表实现栈时,需要提前申请连续的内存空间,且存在栈满、扩容等问题 可以建立一个数组,数组头部作为栈底,数组尾部作为栈顶,同时使用一个变量来记录当前栈顶元素所在的数组下标,所有操作都在栈尾进行,这样可以避免移动元素 #include <stdio.h> #include <stdlib.h> #define MAX_SIZE 8 #define ARRAY_STACK_INCRE_MENT 8 typedef enum Status { OK, MEM....

数据结构学习笔记--栈和队列

数据结构
一、简介 线性表是n个数据元素的有限序列,例如英文字母的字母表(A,B,C......,Z)。 同一个线性表中的元素必定有相同特性,即属于同一数据对象,相邻数据元素之间存在序偶关系,若将线性表记作(a1,...,ai-1,ai,ai+1,...,an),将ai-1称为ai的直接前驱,ai+1称为ai的直接后继 线性表中元素的个数n(n>=0)定义为线性表的长度,n=0时称为空表 二、线性表的顺序表示和实现 2.1 顺序表的内存 线性表的顺序表示就是用一组地址连续的存储单元一次存储线性表的数据元素; 假设线性表中每个元素占用l个存储单元,并以所占据的第一个存储单元作为数据元素的存储位置,则LOC(ai+1) = LOC(ai)+l,一般来说线性表第i个数据元素的存储位置为LOC(ai) = LOC(a1)+(i-1)*l \ 2.2 添加元素 向线性表中添加一个元素时,线性表长度会加1,且添加元素的为序的后续元素都会在内存中向后移动一位,删除则需要把后续元素都往前移动一位 2.3 删除元素 删除一个元素时,被删除元素的后续元素都会向前移动一位 2.4 根据下标查询元素 因为是数组实....

数据结构学习笔记--线性表

数据结构
一、简介 1.1 概念 先知悉以下术语概念 数据 --对客观事物的符号表示,再计算机科学中是指所有能输入到计算机中并被处理的符号的总称 数据元素 --数据的基本单位 数据项 --数据的不可分割的最小的单位 数据对象 --性质相同的数据元素的集合 数据结构 --相互之间存在一种或多种特定关系的数据元素的集合 以一个学生管理系统为例说明上述概念对应的具体项 数据 --学生信息管理系统中存储的所有关于学生的信息构成了数据; 数据元素 --每一个学生的全部信息就是一个数据元素,例如: 学号:2020001 姓名:张三 性别:男 年龄:20 专业:计算机科学与技术 入学年份:2020 联系电话:13812345678 邮箱:zhangsan@example.com 数据项 --在上面的数据元素中, 学号:2020001 姓名:张三 性别:男 年龄:20 专业:计算机科学与技术 入学年份:2020 联系电话:13812345678 邮箱:zhangsan@example.com 每个数据项分别描述了学生的某个具体属性 数据对象 --所有性别相同的学生构成一个数据对象,也可以时所有年龄或者专业相同.....

数据结构学习笔记--基础概念

数据结构
python知识总结--简介 - 问尤龙の时光 (wenyoulong.com) python知识总结--基础语法 - 问尤龙の时光 (wenyoulong.com) python知识总结--常用数据结构 - 问尤龙の时光 (wenyoulong.com) Python知识总结--高级 - 问尤龙の时光 (wenyoulong.com)

Python知识总结

python
一、Python正则表达式 1.1 简介 正则表达式是一个特殊的字符序列,它能帮助你方便的检查一个字符串是否与某种模式匹配 re 模块使 Python 语言拥有全部的正则表达式功能 正则表达式可以实现文本的匹配、替换和搜索,常用于服务器日志文件的信息检索和匹配、爬虫数据获取等 1.2 常用方法 1.2.1 re模块常用匹配方法 函数作用 compile(pattern,flag=0)获取一个正则对象 match(pattern,string,flag=0)从字符串头开始匹配 search(pattern,string,flag=0)匹配整个字符串,直到找到一个匹配 findall(pattern,string,flag=0)查找字符串中所有出现的正则表达式模式,返回列表 split(pattern,string,max=0)根据正则表达式把字符串拆分为列表,max为最多分割次数 sub(pattern,repl,string,count=0)使用repl替换正则表达式出现在string中的位置 import re # 得到一个正则对象 res = re.compile("a") pri....

Python知识总结--高级

python
python有六种常见的数据结构: Number (数字) String (字符串) List (列表) Tuple (元组) Dictionary (字典) Set (集合) 根据数据结构特性划分: 一、Number(数值) Python3支持int、float、bool、complex(复数)几种类型的数值 intfloatboolconplex 11.0True/False1+j 数值类型的基本操作 A=3,B=2 加法 C=A+B #5 减法 C=B-A #1 乘法C=AB #6 除法C=A/B #1.5 取余C=A%B #1 取整C=A//B #1 a = 3 b = 2 print(a+b) print(a-b) print(ab) print(a/b) print(a//b) print(a%b) 二、String(字符串) 字符串是字符的有序序列,它可以使用+、*运算,他是不可变的数据类型 使用单引号、双引号和三引号可以声明 "r"字符串变为原始字符串 ""为转义字符 2.1 声明字符串 # 声明字符串 var1 = 'hello' var2 = "hello"....

python知识总结--常用数据结构

python
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 ... 31 →
RSS 开始使用
wenyl - 鸡汤太好喝啦

Open Source, Open Mind,
Open Sight, Open Future!
182 文章
0 浏览     5 当前访客
© 2025 wenyl 的个人博客