数据结构之【队列】
问题向导 问题1:线程池没有空闲线程时,新的任务请求 线程资源时,线程池该如何处理?各种处理策略又是如何实现的呢? 思路: 处理策略一:非阻塞的处理方式,直接拒绝任务请求 处理策略二:阻塞的处理方式,将请求排队,等到有空闲线程时,取出排队的请求继续处...
问题向导 问题1:线程池没有空闲线程时,新的任务请求 线程资源时,线程池该如何处理?各种处理策略又是如何实现的呢? 思路: 处理策略一:非阻塞的处理方式,直接拒绝任务请求 处理策略二:阻塞的处理方式,将请求排队,等到有空闲线程时,取出排队的请求继续处...
在Python的世界里,我们每天都在和 list、tuple、dict、set 打交道。但你有没有想过: 为什么元组比列表快? 字典为什么查找那么高效? 列表扩容背后的策略是什么? set 真的是“无序”的吗? 这些看似基础的问题,其实都源于Py...
问题向导: 问题1:如何实现LRU缓存淘汰算法? 思路: 维护一个有序的单链表,越靠近链表尾部的结点是越早之前访问的,当有一个新的数据被访问时,从链表头开始顺序遍历链表。 实现: 如果在此数据之前已经被缓存在链表中了,遍历得到这个数据对应的结...
在日常Python开发中,文件路径操作是绕不开的话题。你是否还在使用os.path.join()拼接路径?是否还在为Windows和Linux的路径分隔符头疼?是否期待一种更Pythonic的方式来处理路径? 先来看一个直观的对比,即使你现在还不熟悉...
概念与原理数组(Array)是一种线性表数据结构,它用一组连续的内存空间,来存储一组具有相同类型的数据。数组可以分为静态数组和动态数组两大类。 静态数组:是一块连续的内存空间,我们可以通过索引来访问这块内存空间中的元素,这也是数组的原始形态。 动态...
本周读到了一篇文章《Python has had async for 10 years – why isn’t it more popular?》,深有感触,文章提出了一个值得深思的问题:Python 早在 2015 年就引入了 async 和 aw...
数据结构的分类常见的数据结构包括数组、链表、栈、队列、哈希表、树、堆、图,它们可以从逻辑结构和物理结构两个维度进行分类。 逻辑结构:线性与非线性逻辑结构主要描述的是数据元素之间的逻辑关系,它可以分为线性和非线性两大类。简言之,线性结构指数据在逻辑关系...
在工程领域中,大量问题是难以达到最优解的,许多问题只是被“差不多”的解决了。问题的难以程度一方面取决于问题本身的性质,另一方面也取决于观测问题的人的只是储备。人的知识越完备,经验越多,分析问题就会越深入,问题就能被解决的更优雅。 ——摘录 在前面...
写在前面数据结构与算法常被视为一个整体,但它其实是由「数据结构」和「算法」两部分构成。我们很少见到有人将他们完全分开讲解,正是因为二者相辅相成、密不可分:数据结构是为算法的服务的,而算法总要作用在某种特定的数据结构之上。 此外值得注意的是,算法工程师...
在AI编程助手高速演进时代,我们每天都在坚持技术的飞跃。然而,越是在浪潮之巅,我越发意识到—真正可持续的成长,依然离不开坚实的技术根基。 根基无声,却能支撑我们走向更远的未来…… 因此,我从今天(2025.08.31)起,启动一项为期31天的专项计划...