随笔分类 - Java算法与数据结构
摘要:(一)栈的介绍 栈是一个先入后出的有序列表 栈是限制线性表中元素的插入和删除只能在线性表的同一端进行的一种特殊线性表,允许插入和删除的一端,为变化的一端,称为栈顶(Top),另一端为固定的一端,称为栈底(Bottom) 由定义可知,最先放入栈中的元素在栈底,最后放入的元素在栈顶,而删除元素恰好相反,
阅读全文
摘要:Josephu(约瑟夫,约瑟夫环)问题 问题表述为:设编号为1,2,...,n的n个人围坐一圈,约定编号为K(1<=k<=n)的人开始报数,数到m的那个人出列,它的下一位又从1开始报数,数到m的那个人又出列,依此类推,直到所有人出列为止,由此产生一个出队编号的序列 (一)约瑟夫问题-创建环形链表的思
阅读全文
摘要:1,链表是有序的列表,但它在内存中存储如下: 从上图可以看出: 链表是以节点的方式来存储,是链式存储; 每个节点包含data域,next域:指向下一个节点。 链表的各个节点不一定是连续存储 链表分带头节点的链表和没有头节点的链表,根据实际的需求来确定 2,单链表的应用实例: 使用带head头的单向链
阅读全文
摘要:队列: 1,队列是一种先进先出的线性表,它只允许在表的一段进行插入,而在另一端删除元素,在队列中,允许插入的一段叫做队尾(rear),允许删除的一端则称为队头。 2,举例:①银行叫号排队 ②操作系统中的作业排队:在允许多道程序运行的操作系统中,同时有几个作业运行,如果运行的结果都需要用通道输出,那就
阅读全文
摘要:稀疏数组 一,基本介绍: 当一个数组中大部分元素为0,或者为同一个值的数组时,可以使用稀疏数组来保存该数组。 稀疏数组的处理方法是: (1)记录数组一共有几行几列,有多少个不同的值; (2)把具有不同值的元素的行列及值记录在一个小规模的数组中,从而缩小程序的规模 二,举例: 如果直接存盘,chess
阅读全文

浙公网安备 33010602011771号