
DS
文章平均质量分 91
超华东算法王
微信号:yoggyzh
重磅推出:更新ing:Java难点解读,百战大厂面试; 即将更新系列:自传统编程:rust语言之旅,go语言之旅,c#语言之旅,swift语言之旅,oc语言之旅,Lua语言之旅 黑皮书之旅1:算法导论,neo4j之旅,redis之旅;python高级:opencv3.0,chatgpt,LLM,python-WEB,数据开发,web安全,SQL高级,大数据基础,linux高级,hadoop技术栈,hive
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
数据结构-10:线索二叉树
线索二叉树是在普通二叉树的基础上,为每个节点增加额外的指针,以便在遍历过程中快速找到节点的前驱和后继。通过这种方式,线索二叉树能够在不使用栈或递归的情况下,实现高效的中序遍历。定义与目的:线索二叉树通过利用空闲指针实现高效的中序遍历,减少遍历时的时间和空间开销。节点结构:在线索二叉树中,节点除了存储数据和左右子指针外,还包含标志位指示指针是否为线索。构建方法:通过中序遍历的过程中建立前驱和后继的线索关系。遍历方法:利用线索指针实现无需栈或递归的中序遍历,提升遍历效率。优缺点优点。原创 2025-01-16 09:20:18 · 758 阅读 · 0 评论 -
数据结构-9:遍历二叉树(全站最细
遍历类型多样:前序、中序、后序适用于深度优先搜索,层序适用于广度优先搜索。递归与非递归的权衡递归实现代码简洁,但受限于栈空间,适用于树的深度较小的情况。非递归实现较为复杂,但适用于深度较大的树,避免栈溢出。选择合适的遍历方法:根据具体应用需求选择适当的遍历类型和实现方式。遍历的应用广泛:涵盖表达式求值、树的复制、查找操作、验证树性质等多个方面。遍历类型前序:根 → 左 → 右,适用于复制树、生成前缀表达式。中序:左 → 根 → 右,适用于二叉搜索树的有序输出、验证BST。后序。原创 2025-01-16 09:18:13 · 804 阅读 · 0 评论 -
数据结构-8:二叉树的性质(全站最细
定义:抽象语法树是编译器将源代码转换为中间表示的一种树形结构,表示程序的语法结构。应用场景源代码分析:用于语法分析和语义分析。代码优化:通过AST进行代码优化和转换。中间代码生成:生成目标代码或中间表示。示例对于C++表达式/ \a +/ \b */ \c d应用示例在编译器中,AST用于表示程序的结构,便于后续的代码优化和生成。例如,表达式求值、常量折叠、死代码消除等优化操作。二叉树作为一种基础且重要的数据结构,具有层次化递归性和灵活性等特点。原创 2025-01-16 09:14:56 · 750 阅读 · 0 评论 -
数据结构-7:二叉树和应用(全站最细
二叉树(Binary Tree)是一种树形数据结构,其中每个节点最多有两个子节点,分别称为左子节点(Left Child)和右子节点(Right Child)。二叉树广泛应用于计算机科学中的各种领域,如表达式解析、搜索算法、数据存储等。二叉树作为一种基本且重要的数据结构,具有层次化递归性和灵活性等特点。它在计算机科学中有着广泛的应用,包括数据库索引、文件系统管理、编译器设计、机器学习等。原创 2025-01-16 09:13:19 · 1189 阅读 · 0 评论 -
数据结构-6:树(全站最细
树(Tree)是一种非线性数据结构,用于表示具有层次关系的数据。树由节点(Node)组成,节点之间通过边(Edge)连接,形成一个从上到下、分支的结构。树结构广泛应用于计算机科学中的各种领域,如数据存储、组织结构表示、算法设计等。树作为一种基本且重要的数据结构,具有层次化递归性和灵活性等特点。它在计算机科学中有着广泛的应用,包括数据库索引、文件系统管理、编译器设计、机器学习等。通过理解树的基本概念、类型、操作和实现方法,可以有效地在实际编程中应用这一数据结构,解决复杂的数据表示和处理问题。关键点总结。原创 2025-01-16 09:12:20 · 1014 阅读 · 0 评论 -
数据结构5-Generalized List(全站最细
*广义表(Generalized List)**是对线性表(如数组、链表)的扩展,它不仅可以包含基本元素(如整数、字符等),还可以包含其他广义表。广义表的这种嵌套结构使其能够表示更复杂的数据关系和层次结构。广义表的概念最早由**莫顿·卡茨(Morton L. Katz)**在20世纪60年代提出,广泛应用于计算机科学中的编程语言(如Lisp)、数据表示、符号计算等领域。广义表作为一种灵活且强大的数据结构,能够自然地表示嵌套和层次化的数据关系。它在编程语言设计、符号计算、复杂数据表示等领域具有重要应用。原创 2025-01-16 09:10:11 · 791 阅读 · 0 评论 -
数据结构4:ARRAY(全站最详细
数组(Array)是一种线性数据结构,用于存储一组具有相同数据类型的元素。数组中的元素在内存中是连续存储的,每个元素可以通过其**索引(Index)**直接访问。数组是编程中最基本、最常用的数据结构之一,广泛应用于各种算法和应用程序中。数组作为最基本、最常用的数据结构之一,具有固定大小连续存储和快速随机访问等特点。在实际编程中,数组广泛应用于各种场景,如数据存储、算法实现、图像处理和并行计算等。理解数组的基本概念、类型、操作和优化方法,对于掌握更复杂的数据结构和算法具有重要意义。关键点总结定义和特点。原创 2025-01-16 09:08:25 · 1045 阅读 · 0 评论 -
DS-3:STRING
*串(字符串)**是由零个或多个字符按照一定顺序组成的有限序列。它是计算机科学中最基本、最常用的数据结构之一,用于表示和处理文本数据。字符串广泛应用于各种软件开发领域,如文本处理、数据存储、用户输入输出等。字符串(串)作为计算机科学中最基本的数据结构之一,具有广泛的应用和重要的地位。理解字符串的表示、操作和实现方式,对于掌握更复杂的数据结构和算法具有重要意义。根据具体的应用需求,选择合适的字符串表示方式和操作方法,可以有效提升程序的性能和效率。原创 2025-01-16 09:06:56 · 965 阅读 · 0 评论 -
DS-2:QUEUE
队列是一种有序的集合,其中元素按进入队列的顺序排列。新元素从**队尾(Rear)进入队列,元素从队头(Front)**离开队列。这种特性确保了最先进入队列的元素最先被处理。队列作为一种基础的数据结构,在计算机科学和工程中扮演着重要的角色。根据不同的需求和应用场景,选择合适的队列实现方式(顺序队列、循环队列或链队列)能够提高程序的效率和资源利用率。理解队列的基本概念、操作和实现方法,是掌握更复杂数据结构和算法的基础。如果你有更多关于队列的具体问题或需要更详细的代码示例,请随时提问!原创 2025-01-16 09:05:44 · 514 阅读 · 0 评论 -
DataStructure1:STACK
顺序栈是利用顺序存储结构(通常是数组)实现的栈。它通过预先分配一块连续的内存空间来存储栈中的元素,并通过一个指针(通常称为栈顶指针)来标识当前栈顶的位置。链栈是利用链式存储结构(通常是链表)实现的栈。它通过节点(Node)来存储元素,每个节点包含数据域和指向下一个节点的指针。链栈不需要预先分配固定大小的内存空间,可以根据需要动态分配和释放内存。顺序栈和链栈各有优缺点,适用于不同的场景。顺序栈以其简单高效的特点,适合在栈大小已知且变化不大的情况下使用;原创 2025-01-16 09:04:46 · 942 阅读 · 0 评论