月度归档: 2023 年 9 月

2 篇文章

基数排序(桶排序)
基数排序是一种非比较类排序,非比较类排序效率较高,但对于所给数据有较高的要求,且需要比比较类排序更大的空间,所排序元素必须有进制. 算法原理 给定一个无序的数组 1.确定最大位数(bit): 遍历整个数组,找到其中的最大值,然后确定其位数,将位数记为bit。 2.创建桶和help数组: 准备10个桶(编号0到9)以及一个help数组,用于暂时存放排…
堆/堆排序
堆是一种非常重要的数据结构 , 堆排序是时间复杂度为O(nlogn)的排序算法 , 值得学习 堆结构 1.堆在逻辑上可以看做一颗完全二叉树 , 完全二叉树指满二叉树或从左向右依次渐满的二叉树 , 可以用一维数组来表示 , 数组下标为0的数为堆顶 ,1和2分别为它的左孩子和右孩子, 对于数组下标为n的节点,其父节点下标为(n - 1)/2 , 左孩子…