zoukankan      html  css  js  c++  java
  • 栈与队列

    数据结构,是数据的组织形式,包括存储方式和访问方式两层含义,二者是紧密联系的。例如,数组的各元素是一个挨一个存储的,并且每个成员的大小相同,因此数组可以通过下标访问的方式,结构体的各成员也是一个挨一个存储的,但是每个成员的大小不同,所以只能用.运算符加成员来访问,而不能按下标访问。

    一个问题中的存储方式和访问方式(即数据结构)就决定了解决问题可以采用说明样的算法。要设计一个算法就要同时设计相应的数据结构来支持这种算法。

    用数组实现堆栈(如果堆栈中存储类型相同)

    用数组实现栈

    栈的特点就是“后进先出”。

    用递归实现倒叙打印
    用递归实现栈

    回溯

    迷宫问题,深度优先搜索
    迷宫

    深度优先是一条路走到完, 走不同需要回溯, 倒退回上一步.

    广度优先, 不需要回溯, 也不需要倒退到上一步, 起始说白了, 它不像是一个人在走迷宫, 而是像是N多人, 有分工, 同时尝试多路, 但是一次只能走一步, 所以相比于深度优先, 广度优先算法实现起来, 要简单的多, 如下图:

    image

    队列的特点是,先进先出。

    队列实现迷宫
    队列迷宫

    以上代码的执行,能够充分看出深度和广度优先的区别,主要还是由于数据结构决定的。

  • 相关阅读:
    板邓:php获取数组元素个数
    板邓:PHP解决Using $this when not in object context in【转】
    板邓:MYSQL distinct关键字查询重复值只显示一条记录
    板邓: php 过滤文章的html标签方法
    板邓:PHP使用mb_strimwidth截取中文字符串方法大全
    板邓:php str_replace单双引号的替换问题
    板邓:PHP下利用PHPMailer配合QQ邮箱下的域名邮箱发送邮件(转)
    板邓:wordpress自定义伪静态 WP_Rewrite
    板邓:wordpress获取当前页面的id、别名
    获取文件夹名
  • 原文地址:https://www.cnblogs.com/moveofgod/p/2709276.html
Copyright © 2011-2022 走看看