foreverys

导航

2017年9月2日 #

栈和队列

摘要: 栈实现的是一种后进先出(last in, first-out, LIFO)策略。 本文利用数组实现了栈的三种操作: PUSH(压入,即INSERT) POP(弹出,即DELETE) EMPTY(测试栈是否为空) 三种栈操作的执行时间都为O(1) 队列实现的是一种先进先出(first-in, firs 阅读全文

posted @ 2017-09-02 22:36 foreverys 阅读(101) 评论(0) 推荐(0) 编辑

最坏情况为线性时间的选择算法

摘要: 算法select可以确认一个有n>1个不同元素的输入数组中第i小的元素。(如果n=1,则select只返回它的唯一输入数值作为第i小的元素。) 1.将输入数组的n个元素划分为n/5(向下取整)组,每组5个元素,则至多只有一组由剩下的n mod 5个元素组成。 2.寻找这n/5(向上取整)组中每一组的 阅读全文

posted @ 2017-09-02 14:59 foreverys 阅读(1565) 评论(0) 推荐(0) 编辑