Python

Python分类,主要分享Python基础知识,因为本人目前还没有Python的大型项目经验,目前还在探索阶段,希望和大家共同学习进步。

  • 贪心算法之拼接最大数字问题

    有n个⾮负整数,将其按照字符串拼接的⽅式拼接为⼀个整数。如何拼接可以使得到的整数最⼤?例:[3,31,34,5,9],可以拼接出的最⼤整数为"9534330"

    Python 995 2022-05-19
  • 贪心算法与找零问题

    贪心算法(又称贪婪算法)是指,在对问题求解时,总是做出在当前看来最好的选择。也就是说,不从整体最优上考虑,他所做出的是在某种意义上的局部最优解。

    Python 652 2022-05-18
  • 数据结构之二叉搜索树

    二叉搜索树是一棵二叉树,且满足如下性质:设x是二叉树的一个节点,如果y是x左子树的一个节点,那么y.key<=x.key; 如果y是x右子树的一个节点,那么y.key>=x.key。

    Python 613 2022-05-17
  • 数据结构之二叉树及四种遍历方法

    如果树中每个节点最多只有两个子节点,这样的树就称为“二叉树”。二叉树的链式存储:将二叉树的节点定义为一个对象,节点之间通过类似链表的链接方式来连接。

    Python 582 2022-05-16
  • 数据结构之拉链法创建哈希表

    哈希表是一个通过函数函数来计算数据存储位置的数据结构,由于哈希表的大小是有限的,而要存储的值的总数是无限的,会存在哈希冲突,本文介绍用拉链法创建哈希表。

    Python 820 2022-05-15
  • 数据结构之链表类的封装

    前面文章中,介绍了链表结构的函数方法实现,但函数实现方法在使用上不是很方便,本文介绍一种更完善的面向对象的封装方式,可以通过传参的方式创建链表。

    Python 622 2022-05-14
  • Python爬取可转债和正股涨跌幅信息

    前几天有人在公众号留言,提到一个可转债的思路,想看下转债和正股的涨跌有没有关联,如果转债的走势和正股一致,而且滞后于正股,那我们就可以筛选正股涨的多,而转债还没涨起来的来捡漏。

    Python 1665 2022-05-13
  • 数据结构之双链表和对比总结

    双链表的每个节点有两个指针:一个指向后一个节点,另一个指向前一个节点。结构比单链表略复杂,但使用上更方便。

    Python 558 2022-05-09
  • 数据结构之单链表的插入和删除节点

    上文介绍了单链表的几种创建方法,本文介绍另外两种操作:单链表插入节点和删除节点。需要特别注意的是插入操作的顺序问题。

    Python 590 2022-05-08
  • 数据结构之单链表与创建方法

    链表是由一系列节点组成的元素集合,每个节点包含两部分,数据域item和指向下一个节点的指针next,通过节点之间的相互连接,最终串联成一个链表。当一个序列中只含有指向它的后继结点的链接时,就称该链表为单链表。

    Python 526 2022-05-07
  • 数据结构之队列求解迷宫最短路径问题

    上一篇文章介绍了用栈结构解迷宫问题的方法,虽然能找到走出迷宫的路径,但很显然不是最优路径。本文将进一步介绍用队列,来求解迷宫的最短路径问题。

    Python 619 2022-05-06
  • 数据结构之用栈解迷宫问题

    给定一个二维列表,表示迷宫的轮廓(0表示通道,1表示墙),用栈结构完成算法,求一条走出迷宫的路径。实现思路:回溯法,从一个点开始,任意找一个能走的点,当找到不能走的点时,退回上一个点寻找是否有其他方向的点。

    Python 673 2022-05-05
  • 数据结构之双向队列及tail函数

    双向队列和普通队列略有不同,其两端都支持进队和出队操作,Python中有一个双向队列的内置模块 deque.

    Python 631 2022-05-04
  • 数据结构之队列

    队列(Queue)是一个数据集合,仅允许在列表的一段进行插入,另一端进行删除。进行插入的一段称为队尾(rear),插入动作称为进队或者入队。进行删除的一段称为队头(front),删除动作称为出队。

    Python 556 2022-05-03
  • 数据结构之栈与括号匹配问题

    栈(Stack)是一个数据集合,可以理解为智能在一端进行插入或者删除的列表。栈的特点是先进后出LIFO(last-in, first-out),本文用Python的列表,来实现一个栈结构。

    Python 562 2022-05-02
  • 数据结构之数组

    数组是一个固定长度的存储相同数据类型的数据结构,数组中的元素被存储在一段连续的内存空间中。值得注意的是,Python中的列表,并不是严格的数组结构,因为列表的元素类型可以不同。列表中存储的其实是元素的索引地址,所以列表又具有数组的性质。

    Python 726 2022-04-29
  • 基数排序算法

    基数排序算法,是在上一个算法桶排序算法的基础上,衍生出的一种改进算法。桶排序算法中,如果数据是稀疏的,或者集中在某几个小范围内,其算法优势会退化。而基数排序算法,正好可以弥补这一缺陷。

    Python 824 2022-04-28
  • 桶排序算法

    桶排序(又称箱排序)是一种基于分治思想、效率很高的排序算法,其核心思想是,讲数据依次放入顺序摆放的若干个桶内,然后每个桶内元素再进行排序,完后成将桶内元素合并,得到最终排序结果。

    Python 618 2022-04-27
  • 计数排序算法

    计数排序算法,就是通过统计序列中各个元素出现的次数,完成对整个序列的升序或降序排序的算法,其时间复杂度为O(n)。该算法时间复杂度很低,但对序列的条件比较苛刻,一是要求待排序元素都是整数,二是数值不能太大(通常为100以下)。

    Python 614 2022-04-26
  • 希尔排序算法

    希尔排序算法是一种分组插入排序算法,是一种更高效的插入排序算法。和普通的插入排序算法相比,希尔排序算法减少了移动元素和比较元素大小的次数,从而提高了排序效率。

    Python 666 2022-04-25