随笔分类 - 数据结构和算法
摘要:1.栈的一个实际需求 请问: 计算机底层是如何运算得到结果的? 注意不是简单的把算式列出运算,因为我们看这个算式 7 * 2 * 2 - 5, 但是计算机怎么理解这个算式的(对计算机而言,它接收到的就是一个字符串),我们讨论的是这个问题。-> 栈 2.栈的介绍 1)栈的英文为(stack) 2)栈是
阅读全文
摘要:1. Josephu(约瑟夫、约瑟夫环)问题 设编号为1,2,… n的n个人围坐一圈,约定编号为k(1<=k<=n)的人从1开始报数,数到m 的那个人出列,它的下一位又从1开始报数, 数到m的那个人又出列,依次类推,直到所有人出列为止,由此产生一个出队编号的序列。 提示: 用一个不带头结点的循环链表
阅读全文
摘要:对于链表的介绍在之前的博客中已经有所介绍,这里就不介绍了,直接进入使用案例 一、单链表的应用实例 使用带 head 头的双向链表实现 - 水浒英雄排行榜管理完成对英雄任务的增删改查操作。 1)添加节点:在添加英雄时,根据排名将英雄插入到指定的位置(如果链表中已经存在此排名,则添加失败,给出提示信息)
阅读全文
摘要:一、链表(LinkedList)介绍 链表是有序的列表,但是它在内存中是存储如下: 上图小结: 1)链表是以节点的方式存储的,是链式存储。 2)每个节点包含 data 域,next 域:指向写一个节点。 3)如图:发现链表的各个节点不一定是连续存储的。 4)链表分带头节点的链表和没有头节点的链表,根
阅读全文
摘要:一、队列的介绍及使用场景 队列是一个有序列表,可以用数组或是链表来实现。 遵循先入先出的原则。即:先存入队列的数据,要先取出。后存入的要后取出 示意图:(使用数组模拟队列示意图) 队列的使用场景:银行排队叫号系统 二、单向队列 队列本身是有序列表,若使用数组的结构来存储队列的数据,则队列数组的声明如
阅读全文
摘要:一、数据结构与算法的关系 1.数据data结构(structure)是一门研究组织数据方式的学科,有了编程语言也就有了数据结构.学好数据结构可以编写出更加漂亮,更加有效率的代码。 2.要学习好数据结构就要多多考虑如何将生活中遇到的问题,用程序去实现解决. 3.程序 = 数据结构 + 算法 4.数据结
阅读全文

浙公网安备 33010602011771号