
算法与数据结构
文章平均质量分 87
算法与数据结构
IT轻生活
Everything is possible as well as believe yourself.
展开
-
【数据结构】数组
什么是数组?数组是一种线性表数据结构,它用一组连续的内存空间存储一组具有相同类型的数据。数组的定义中的第一个关键词是“线性表”(linear list)。顾名思义,线性表指的是数据排列成一条线一样的结构。线性表中的数据只有前、后两个方向。其实,除数组之外,本章要讲到的链表,栈和队列都是线性表结构,如图所示:与线性表相对立的概念是非线性表,如树,图等,如图所示。之所以称为非线性表,是因为数据之间并不是简单的前后关系。数组的定义中的第二个关键词和第三个关键词是“连续的内存空间”和“相同类型的数据”。原创 2024-02-27 17:50:36 · 331 阅读 · 0 评论 -
【数据结构】数据结构概述
在链表中,每个节点只包含一个指向前驱节点和一个指向后继节点的指针,而且数据元素只能通过遍历节点来访问和操作。需要注意的是,在某些特殊的线性数据结构中,可能没有明确定义的前驱或后继方向,例如双向链表中的每个节点既是前驱节点也是后继节点。这些数据结构在计算机科学和编程中经常被使用,对于特定的问题和应用场景,不同的线性数据结构都有各自的优缺点和适用性。总之,内存和数据结构是紧密相关的,选择合适的数据结构和优化内存使用可以提高程序的性能和效率。在一个链表中,每个节点的前驱是它前面的节点,后继是它后面的节点。原创 2024-02-27 17:20:04 · 1134 阅读 · 0 评论 -
【算法】复杂度分析
我们知道,数据结构和算法解决的是“快”和“省”的问题,也就是如何让代码运行得更快,一级如何让代码更节省计算机的存储空间。因此,执行效率是评价算法好坏的一个非常重要的指标。那么,如何衡量算法的执行效率尼?这里就要用到我们本节要讲的内容:时间复杂度分析和空间复杂度分析。原创 2024-02-21 16:50:21 · 638 阅读 · 0 评论 -
【算法】约瑟夫环问题解析与实现
(Josephus Problem)是一个经典的数学问题,涉及一个编号为 1 到 n 的人围成一圈,从第一个人开始报数,报到某个数字 m 的人出列,然后再从下一个人开始报数,如此循环,直到所有人都出列。本篇博客将详细解析约瑟夫环问题,并使用 Python 实现算法。原创 2024-02-19 17:07:40 · 692 阅读 · 0 评论 -
【算法】二分查找
二分查找也被称为折半查找,是在一个。二分查找据说,二分查找最先出现在上个世纪50年代,但是直到60年代中期才出现了第一个正确的实现。在2006年,Java 库中关于二分查找的程序仍然因 Bug 的出现不得不被修复。实现一个完美的二分查找是有一定的难度的,要充分考虑到它的退出条件和中间点的计算。原创 2024-02-18 16:24:39 · 486 阅读 · 1 评论 -
leetcode题库
原题链接2、dict集合(哈希表)解法Java解法1、暴力解法2、HashMap集合(哈希表)解法原创 2023-09-08 16:24:49 · 1120 阅读 · 1 评论 -
LeetCode
一般被定义为:由一个或多个确定的元素所构成的整体。通俗来讲,集合就是将一组事物组合在一起。原创 2023-06-30 16:47:44 · 31 阅读 · 0 评论