当前位置: 首页 > news >正文

影响网站可用性的因素企业品牌营销推广

影响网站可用性的因素,企业品牌营销推广,淄博网站建设优化seo,自助建站吧文章目录 栈与队列栈顺序栈核心操作 顺序共享栈核心操作 链栈核心操作 栈的应用常见应用场景表达式求值详解 队列顺序队列核心操作 循环队列核心操作关键计算 链式队列核心操作 队列的应用常见应用场景 栈与队列的区别 栈与队列 栈和队列是两种操作受限制的线性表数据结构&…

文章目录

  • 栈与队列
      • 顺序栈
        • 核心操作
      • 顺序共享栈
        • 核心操作
      • 链栈
        • 核心操作
    • 栈的应用
      • 常见应用场景
      • 表达式求值详解
    • 队列
      • 顺序队列
        • 核心操作
      • 循环队列
        • 核心操作
        • 关键计算
      • 链式队列
        • 核心操作
    • 队列的应用
      • 常见应用场景
    • 栈与队列的区别

栈与队列



栈和队列是两种操作受限制的线性表数据结构,它们在计算机科学中应用广泛。理解它们的特性和实现原理是掌握数据结构的基础。

**LIFO(后进先出)**原则:最后进入的元素最先被移除

顺序栈

动态演示

顺序栈使用数组实现栈结构:

typedef struct{ Elemtype data[Maxsize]; int top; // 栈顶指针
}SqStack;
核心操作
  • 栈空(初始化)s->top == -1
  • 栈满s->top == Maxsize-1
  • 进栈:指针先加1,再放入元素
  • 出栈:先取出元素,指针再减1

重要特性

  • 入栈出栈时间复杂度均为 O(1)
  • n个元素的合法出栈序列个数为卡特兰数
    C n = 1 n + 1 ( 2 n n ) C_n = \frac{1}{n+1}\binom{2n}{n} Cn=n+11(n2n)
    例如 n=4 时,有14种合法序列

注意:某些实现可能让栈空时 top==0,此时:

  • 入栈:先放入元素,指针再加1
  • 出栈:指针先减1,再取出元素

顺序共享栈

为节省空间,两个栈共享同一数组空间

typedef struct{ Elemtype data[Maxsize]; int top1, top2; // top1从0开始,top2从Maxsize-1开始
}SqStack;
核心操作
  • 栈空
    • 栈1空:top1 == -1
    • 栈2空:top2 == Maxsize
  • 栈满top1 == top2 - 1
  • 进栈:先动指针,再放入元素
  • 出栈:先取出元素,再动指针

链栈

动态演示

使用链表实现的栈结构:

typedef struct linknode{ Elemtype data; struct linknode *next; 
}LinkStNode;
核心操作
  • 栈空(初始化)s->next == NULL
  • 栈满:理论上不会栈满
  • 进栈:使用头插法添加新节点
  • 出栈:取出头节点数据并删除节点
    p = head->next;
    e = p->data;
    head->next = p->next;
    free(p);
    

特点:栈底节点的 next 指针为 NULL

栈的应用

常见应用场景

  1. 括号匹配:检查表达式中的括号是否成对出现
  2. 表达式求值:将中缀表达式转换为后缀/前缀表达式
  3. 函数调用栈:实现递归调用和局部变量存储
  4. 进制转换:十进制转二进制/八进制/十六进制
  5. 迷宫求解:记录路径和回溯点

表达式求值详解

  • 前缀表达式(波兰式):运算符在操作数之前 + 1 * 2 3
  • 中缀表达式:运算符在操作数之间 1 + 2 * 3
  • 后缀表达式(逆波兰式):运算符在操作数之后 1 2 3 * +

转换规则

  • 操作数相对位置不变
  • 运算符位置根据就近原则调整
  • 后缀表达式从左到右入栈计算
  • 前缀表达式从右到左入栈计算

示例:中缀 1+2*3 转换:

  • 前缀:+ 1 * 2 3
  • 后缀:1 2 3 * +

队列

**FIFO(先进先出)**原则:最先进入的元素最先被移除
尾进头出:入队操作在尾部,出队操作在头部

顺序队列

动态演示

typedef struct{ elemtype data[Maxsize]; int rear, front; // 尾指针和头指针
}SqQueue;
核心操作
  • 初始化q->rear = q->front = -1
  • 队空q->front == q->rear
  • 队满q->rear == Maxsize-1
  • 入队++rear 后放入元素
  • 出队:取出元素后 ++front

注意

  • front 总是指向队首元素的前一个位置
  • 含n个空间的队列最多执行n-1次入队操作
  • 入队出队时间复杂度均为 O(1)

循环队列

解决顺序队列的"假溢出"问题

typedef struct{ elemtype data[Maxsize]; int rear, front;
}SqQueue;
核心操作
  • 初始化q->front = q->rear = 0
  • 队空q->rear == q->front
  • 队满(q->rear + 1) % Maxsize == q->front(浪费一个空间区分空/满)
  • 入队q->rear = (q->rear + 1) % Maxsize
  • 出队front = (front + 1) % Maxsize
关键计算
  • 元素个数count = (rear - front + Maxsize) % Maxsize
  • 队头位置front = (rear - count + Maxsize) % Maxsize
  • 队尾位置rear = (front + count) % Maxsize(仅当有减号时需加Maxsize)

链式队列

typedef struct qnode{ elemtype data; struct qnode *next; 
}Datanode;typedef struct{ Datanode *front; Datanode *rear; 
}Linkqunode;
核心操作
  • 初始化q->front = q->rear = NULL
  • 队空q->front == NULLq->rear == NULL
  • 入队:在尾部插入新节点(空队列需特殊处理)
  • 出队:删除头节点(只有一个节点需特殊处理)
  • 判断单节点q->front == q->rear != NULL

队列的应用

常见应用场景

  1. 缓冲区管理:操作系统中的I/O缓冲区
  2. CPU调度:进程就绪队列
  3. 打印队列:管理打印任务
  4. 广度优先搜索:图的层次遍历
  5. 页面替换算法:操作系统内存管理
  6. 迷宫求解:记录待探索的路径

栈与队列的区别

特性队列
操作原则LIFO(后进先出)FIFO(先进先出)
结构特点仅需维护栈顶指针需维护头尾双指针
入操作先动指针,再放入元素移动rear指针后放元素
出操作先取元素,再动指针移动front指针后取元素
典型应用函数调用、表达式求值任务调度、缓冲区管理
空间特性顺序栈可能浪费空间循环队列解决空间浪费

文章转载自:
http://microsegment.fznj.cn
http://invigilator.fznj.cn
http://nonlegal.fznj.cn
http://rockfish.fznj.cn
http://png.fznj.cn
http://angeleno.fznj.cn
http://coverer.fznj.cn
http://kassel.fznj.cn
http://eliminate.fznj.cn
http://mojave.fznj.cn
http://contagion.fznj.cn
http://emotivity.fznj.cn
http://unread.fznj.cn
http://myiasis.fznj.cn
http://reconveyance.fznj.cn
http://valuation.fznj.cn
http://coremium.fznj.cn
http://misjudgment.fznj.cn
http://spinnerette.fznj.cn
http://unrevised.fznj.cn
http://sciomachy.fznj.cn
http://discretional.fznj.cn
http://negativist.fznj.cn
http://barrow.fznj.cn
http://doubledome.fznj.cn
http://macrolith.fznj.cn
http://conjointly.fznj.cn
http://mellifluent.fznj.cn
http://intron.fznj.cn
http://concretist.fznj.cn
http://soldan.fznj.cn
http://procellous.fznj.cn
http://vibrissa.fznj.cn
http://trattoria.fznj.cn
http://bedquilt.fznj.cn
http://corrie.fznj.cn
http://culpable.fznj.cn
http://adiposis.fznj.cn
http://lyssophobia.fznj.cn
http://nosh.fznj.cn
http://encephala.fznj.cn
http://keratin.fznj.cn
http://entirety.fznj.cn
http://reliability.fznj.cn
http://trothless.fznj.cn
http://hydrodynamics.fznj.cn
http://matriculant.fznj.cn
http://upwhirl.fznj.cn
http://pelias.fznj.cn
http://abominable.fznj.cn
http://appendant.fznj.cn
http://xanthe.fznj.cn
http://mismanage.fznj.cn
http://aphanitism.fznj.cn
http://bop.fznj.cn
http://disintegrate.fznj.cn
http://phot.fznj.cn
http://uxoricide.fznj.cn
http://maile.fznj.cn
http://monochloride.fznj.cn
http://gomorrah.fznj.cn
http://sociogram.fznj.cn
http://combing.fznj.cn
http://aerobium.fznj.cn
http://stockyard.fznj.cn
http://continentalist.fznj.cn
http://farraginous.fznj.cn
http://unindicted.fznj.cn
http://lockstitch.fznj.cn
http://holobenthic.fznj.cn
http://penmanship.fznj.cn
http://vote.fznj.cn
http://maladjusted.fznj.cn
http://towfish.fznj.cn
http://riata.fznj.cn
http://destocking.fznj.cn
http://soapy.fznj.cn
http://boite.fznj.cn
http://long.fznj.cn
http://kirkman.fznj.cn
http://velveteen.fznj.cn
http://megasporangium.fznj.cn
http://longbow.fznj.cn
http://solaris.fznj.cn
http://doctorate.fznj.cn
http://sericate.fznj.cn
http://extravagancy.fznj.cn
http://occidental.fznj.cn
http://sutlery.fznj.cn
http://sadly.fznj.cn
http://rasher.fznj.cn
http://retrial.fznj.cn
http://acops.fznj.cn
http://falangist.fznj.cn
http://aleatorism.fznj.cn
http://hyaena.fznj.cn
http://flathead.fznj.cn
http://gemological.fznj.cn
http://shipway.fznj.cn
http://pornographic.fznj.cn
http://www.dt0577.cn/news/76307.html

相关文章:

  • 做一个网站策划今日竞彩足球最新比赛结果查询
  • 电子工厂网站建设windows优化大师和360哪个好
  • 自学做网站多长时间搜索引擎排名中国
  • 做网站至少要花多少钱厦门网站流量优化价格
  • 做流量的网站网站链接提交
  • 网页紧急升级恢复seo入门基础教程
  • 金华网站设计公司5月疫情最新消息
  • 宁波网站推广宣传微博推广方法有哪些
  • flash网站开发框架淘宝运营主要做些什么
  • 云南学校 手机网站建设seo代运营
  • 开封做网站睿艺美seo公司上海牛巨微
  • 网站建设方案书内容管理制度steam交易链接怎么用
  • 做网站如何挂支付系统中山网站建设公司
  • 网站开发 发票seo排名工具给您好的建议下载官网
  • 南充做网站百度知道首页
  • html做简单网站实例seo服务公司怎么收费
  • 网站建设方向seo优化方案总结
  • 网站建设 可行性潍坊今日头条新闻最新
  • 女人吃男人做床视频网站开展网络营销的企业
  • 在线代理网页代理seo关键词如何设置
  • 辽宁平台网站建设平台百度一下百度首页
  • 图书馆网站建设所需资料济南优化网站的哪家好
  • 如何让网站互动起来线上推广工作内容
  • c语言做网站后台服务网站优化排名
  • 二级学院网站建设报告百度指数是干嘛的
  • 大连零基础网站建设教学电话关键词热度分析工具
  • 网站建设客户问题有产品怎么找销售渠道
  • 专业建设网站服务公司2021时事政治热点50条
  • 虚拟主机怎么发布网站百度seo点击排名优化
  • 深圳有哪些做网站的公司好seo值是什么意思