![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
icoding
y0sh1ne
这个作者很懒,什么都没留下…
展开
-
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-22 20:32:47 · 374 阅读 · 0 评论 -
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-22 18:10:35 · 138 阅读 · 0 评论 -
icoding 排序 堆化
堆化二叉堆一般用数组来表示。例如,根节点在数组中的位置是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-21 19:48:00 · 474 阅读 · 0 评论 -
icoding 排序 堆元素插入
堆元素插入二叉堆一般用数组来表示。例如,根节点在数组中的位置是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-21 19:45:43 · 738 阅读 · 0 评论 -
icoding 排序 堆初始化
堆初始化二叉堆一般用数组来表示。例如,根节点在数组中的位置是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-21 19:42:39 · 320 阅读 · 0 评论 -
icoding 排序 堆辅助函数
堆化二叉堆一般用数组来表示。例如,根节点在数组中的位置是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-21 19:39:34 · 464 阅读 · 0 评论