icoding
文章平均质量分 53
Parry and Dash!
这个作者很懒,什么都没留下…
展开
-
二路归并可执行代码(icoding跑不起来哦)
数组合并 假设有 n 个长度为 k 的已排好序(升序)的数组,请设计数据结构和算法,将这 n 个数组合并到一个数组,且各元素按升序排列。即实现函数: void merge_arrays(const int* arr, int n, int k, int* output); 其中 arr 为按行优先保存的 n 个长度都为 k 的数组,output 为合并后的按升序排列的数组,大小为 n×k。 时间要求(评分规则),当 n > k 时: 满分:时间复杂度不超过 O(n×k×log(n))原创 2021-06-19 15:45:19 · 221 阅读 · 7 评论 -
数组合并假设有 n 个长度为 k 的已排好序(升序)的数组,请设计数据结构和算法,将这 n 个数组合并到一个数组,且各元素按升序排列。即实现函数: void merge_arrays(cons
数组合并 假设有 n 个长度为 k 的已排好序(升序)的数组,请设计数据结构和算法,将这 n 个数组合并到一个数组,且各元素按升序排列。即实现函数: void merge_arrays(const int* arr, int n, int k, int* output); 其中 arr 为按行优先保存的 n 个长度都为 k 的数组,output 为合并后的按升序排列的数组,大小为 n×k。 时间要求(评分规则),当 n > k 时: 满分:时间复杂度不超过 O(n×k×log(n))原创 2021-06-19 12:52:35 · 1118 阅读 · 9 评论 -
堆化二叉堆一般用数组来表示。例如,根节点在数组中的位置是0,第n个位置的子节点分别在2n+1和 2n+2。 因此,第0个位置的子节点在1和2,1的子节点在3和4。以此类推。这种存储方式便于寻找父节
堆化 二叉堆一般用数组来表示。例如,根节点在数组中的位置是0,第n个位置的子节点分别在2n+1和 2n+2。 因此,第0个位置的子节点在1和2,1的子节点在3和4。以此类推。这种存储方式便于寻找父节点和子节点。在二叉堆上可以进行插入节点、删除节点、取出值最小的节点、减小节点的值等基本操作。 “最小堆”的定义如下: typedef struct _otherInfo { int i; int j; }OtherInfo; typedef struct _minHeapNode {原创 2021-06-18 10:49:42 · 500 阅读 · 0 评论 -
堆元素插入二叉堆一般用数组来表示。例如,根节点在数组中的位置是0,第n个位置的子节点分别在2n+1和 2n+2。 因此,第0个位置的子节点在1和2,1的子节点在3和4。以此类推。这种存储方式便于寻
堆元素插入 二叉堆一般用数组来表示。例如,根节点在数组中的位置是0,第n个位置的子节点分别在2n+1和 2n+2。 因此,第0个位置的子节点在1和2,1的子节点在3和4。以此类推。这种存储方式便于寻找父节点和子节点。在二叉堆上可以进行插入节点、删除节点、取出值最小的节点、减小节点的值等基本操作。 “最小堆”的定义如下: typedef struct _otherInfo { int i; int j; }OtherInfo; typedef struct _minHeapNode原创 2021-06-18 10:26:47 · 687 阅读 · 0 评论