
数据结构与算法
文章平均质量分 75
二流人物
业(职)余(业)编(搬)程(砖)爱(打)好(工)者(人)
展开
-
排序
排序插入排序希尔排序冒泡排序选择排序归并排序快速排序 排序是指将集合中的元素按照某种顺序排列的过程。 插入排序 插入排序,一般称为直接插入排序。直接插入排序的基本思想是顺序地把待排序的数据元素按其值的大小插入到已排序数据元素子集合的适当位置。插入排序的时间复杂度为 O(n2),空间复杂度为 O(1)。 Python 实现插入排序: def insertionSort(alist): for index in range(1, len(alist)): currentvalue = a原创 2021-04-15 15:19:08 · 212 阅读 · 0 评论 -
搜索
搜索(查找)算法原创 2021-03-26 16:48:25 · 248 阅读 · 0 评论 -
递归
递归递归的概念递归经典案例:汉诺塔递归过程 递归的概念 若一个算法直接或间接地调用自己本身,则称这个算法是递归算法。递归算法把问题分解为形式更加简单的子问题的方法来求解问题。 递归三原则: 递归算法必须有基本情况 递归算法必须改变其状态并向基本情况靠近 递归算法必须递归的调用自己 递归经典案例:汉诺塔 用 Python 解决汉诺塔问题: def moveDisk(fp, tp): print("moving disk from", fp, "to", tp) def moveTower(hei原创 2021-03-23 16:33:08 · 267 阅读 · 0 评论 -
列表
列表实现无序列表实现有序列表 列表是元素的集合,其中每一个元素都有一个相对于其他元素的位置。更具体地说,这种列表称为无序列表,可以称列表地第一个元素为列表的起点,称最后一个元素为列表的终点。在有序列表中,元素的相对位置取决于它们的基本特征。它们通常以升序或降序排列(前提是元素之间能进行有意义的比较)。 实现无序列表 为了实现无序列表,需要构建链表。无序列表需要维持元素之间的相对位置,但是并不需要在连续的内存空间中维护这些位置信息。Python 实现无序列表: class Node: def __in原创 2021-03-23 14:19:29 · 163 阅读 · 0 评论 -
线性表
线性表的定义,以及顺序表和链表的原理和实现。原创 2021-03-20 16:02:27 · 271 阅读 · 0 评论 -
队列
队列、双端队列、优先级队列的基本概念和实现。原创 2021-03-19 13:16:45 · 175 阅读 · 0 评论 -
栈
栈的基本概念以及使用 python 和 C 实现栈。原创 2021-03-17 18:03:56 · 177 阅读 · 0 评论 -
数据结构与算法基础
数据结构与算法的基础概念。原创 2021-03-16 17:54:19 · 190 阅读 · 0 评论