个性化阅读
专注于IT技术分析

数据结构

最新链表面试问题及其答案合集-srcmini

最新链表面试问题及其答案合集

半瓶木阅读(20)评论(0)赞(0)

下面列出了最常见的链接列表面试问题和答案。 1)简要说明链接列表。 链表可以定义为可以存储项目集合的线性数据结构。以另一种方式, 可以利用链接列表来存储相似类型的各种对象。列表中的每个元素或单元都表示为一个节点。每个节点都包含其数据和下一个...

数据结构:树(tree)-srcmini

数据结构:树(tree)

半瓶木阅读(19)评论(0)赞(0)

本文概述 基本术语 树的静态表示 树的动态表示 树的类型 普通树 森林 二叉树 二进制搜索树 表达树 比赛树 树是一种递归数据结构, 包含一个或多个数据节点的集合, 其中一个节点被指定为树的根, 而其余节点被称为根的子级。 除根节点以外的其...

Tim排序算法实现-srcmini

Tim排序算法实现

半瓶木阅读(24)评论(0)赞(0)

本文概述 技术 复杂 Tim-sort是一种从插入排序和合并排序派生的排序算法。它旨在以最佳方式对不同种类的现实世界数据执行。这是一种自适应排序算法, 需要O(n log n)比较才能对n个元素的数组进行排序。它是由Tim Peters在2...

图论之生成树

半瓶木阅读(21)评论(0)赞(0)

本文概述 最小生成树 最短路径算法 生成树可以定义为连接的无向图G的子图, 该图是通过从图中删除所需数量的边而生成的树。换句话说, 生成树是将所有顶点连接在一起的连通图和无向图G的非循环子图。图G可以具有多个生成树。 最小生成树 加权图中可...

数据结构之单链表

半瓶木阅读(22)评论(0)赞(0)

本文概述 链表的用途 为什么要在数组上使用链表? 单链表或单向链 复杂 单链表上的操作 C中的链接列表:菜单驱动程序 链接列表可以定义为随机存储在内存中的称为节点的对象的集合。 节点包含两个字段, 即存储在该特定地址的数据和包含存储器中下一...

希尔排序算法实现

半瓶木阅读(25)评论(0)赞(0)

本文概述 复杂 算法 C程序 Java程序 C#程序 壳排序是插入排序的一般化, 它通过比较由多个位置的间隙分隔的元素来克服插入排序的缺点。通常, Shell sort执行以下步骤。 步骤1:以表格形式排列元素, 并使用插入排序对列进行排序...

选择排序算法实现

半瓶木阅读(20)评论(0)赞(0)

本文概述 例 复杂 算法 C程序 C ++程序 Java程序 C#程序 Python程序 休息计划 JavaScript程序 PHP程序 在选择排序中, 在每次遍历中选择数组未排序元素中的最小值, 并将其插入数组的适当位置。 首先, 找到数...

基数排序算法实现

半瓶木阅读(20)评论(0)赞(0)

本文概述 复杂 例 算法 C程序 Java程序 C#程序 基数排序处理元素的方式与根据学生姓名的字母顺序对其排序的方式相同。在这种情况下, 由于英语中有26个字母, 因此有26个基数。在第一遍中, 根据名称的第一个字母的升序对名称进行分组。...

快速排序算法实现

半瓶木阅读(16)评论(0)赞(0)

本文概述 复杂 算法 C程序 Java程序 C#程序 快速排序是广泛使用的排序算法, 该算法在平均情况下对n个元素的数组进行n log n个比较。该算法遵循分而治之的方法。该算法以以下方式处理数组。 将数组的第一个索引设置为left和loc...

归并排序算法实现

半瓶木阅读(17)评论(0)赞(0)

本文概述 复杂 例 算法 C程序 Java程序 C#程序 合并排序是遵循分而治之的算法。考虑一个n个元素的数组A。该算法分3个步骤处理元素。 如果A包含0或1个元素, 则它已经被排序, 否则, 将A分为元素数量相等的两个子数组。 征服意味着...