一、概述 堆栈(Stack)是一种后进先出(LIFO)的线性数据结构,对堆栈的插入和删除操作都只能在栈顶(top)进行。 二、ADT 堆栈ADT(抽象数据类型)一般提供以下接口: Stack() 创建堆栈 push(item) 向栈顶插入项 pop ...
一 概述 用Python实现的数据结构与算法 涵盖了常用的数据结构与算法 全部由Python语言实现 ,是 Problem Solving with Algorithms and Data Structures using Python 简写为PSADSP 的读书笔记。 PSADSP 对经典的数据结构与算法进行了全面而细致地讲解,有兴趣的读者可以直接阅读该书。根据个人的学习进度,本文当前只摘取和 ...
2013-08-26 10:30 0 4340 推荐指数:
一、概述 堆栈(Stack)是一种后进先出(LIFO)的线性数据结构,对堆栈的插入和删除操作都只能在栈顶(top)进行。 二、ADT 堆栈ADT(抽象数据类型)一般提供以下接口: Stack() 创建堆栈 push(item) 向栈顶插入项 pop ...
一、概述 队列(Queue)是一种先进先出(FIFO)的线性数据结构,插入操作在队尾(rear)进行,删除操作在队首(front)进行。 二、ADT 队列ADT(抽象数据类型)一般提供以下接口: Queue() 创建队列 enqueue(item) 向队尾插入项 ...
一、概述 链表(linked list)是一组数据项的集合,其中每个数据项都是一个节点的一部分,每个节点还包含指向下一个节点的链接(参考 《算法:C语言实现》)。 根据结构的不同,链表可以分为单向链表、单向循环链表、双向链表、双向循环链表等。其中,单向链表和单向循环链表的结构如下图 ...
一、算法 1.算法的时间复杂度 大 O 记法,是描述算法复杂度的符号O(1) 常数复杂度,最快速的算法。 取数组第 1000000 个元素 字典和集合的存取都是 O(1) 数组的存取是 O(1) O(logN) 对数复杂度 假设有一个有序数组,以二分法查找 O(n ...
最近忙着准备各种笔试的东西,主要看什么数据结构啊,算法啦,balahbalah啊,以前一直就没看过这些,就挑了本简单的《啊哈算法》入门,不过里面的数据结构和算法都是用C语言写的,而自己对python相对比较熟悉,而且感觉用python实现数据结构相对容易一点。就把这个月来学到的一些,整理一下做个 ...
哔哩哔哩视频传送门 数据结构与算法(Python) 数据结构与算法(Python) 顺序表 链表 栈 队列 排序与搜索 树与树算法 ...
数据结构与算法(Python) Why? 我们举一个可能不太恰当的例子: 如果将最终写好运行的程序比作战场,我们码农便是指挥作战的将军,而我们所写的代码便是士兵和武器。 那么数据结构和算法是什么?答曰:兵法! 我们可以不看兵法在战场上肉搏,如此,可能会胜利,可能会失败。即使胜利 ...
1.序列中的N个元素赋值给变量 python [2, 3, 4, 'string!', ['python', 'php']] python 2.保留最后有限的历史记录 3.从一个集合中获得最大或者最小的 N 个元素列表 heapq ...