- 博客(14)
- 收藏
- 关注
原创 python桶排序
桶排序最好情况下使用线性时间O(n),桶排序的时间复杂度,取决与对各个桶之间数据进行排序的时间复杂度,因为其它部分的时间复杂度都为O(n)。很显然,桶划分的越小,各个桶之间的数据越少,排序所用的时间也会越少。然后基于某种映射函数f ,将待排序列的关键字 k 映射到第i个桶中 (即桶数组B 的下标i) ,那么该关键字k 就作为 B[i]中的元素 (每个桶B[i]都是一组大小为N/M 的序列 )。接着将各个桶中的数据有序的合并起来 : 对每个桶B[i] 中的所有元素进行比较排序 (可以使用快排)。
2024-03-17 09:50:50
338
1
原创 python计数排序
当输入的元素是n 个0到k之间的整数时,它的运行时间是 O(n + k)。在实际工作中,当k=O(n)时,我们一般会采用计数排序,这时的运行时间为O(n)。计数排序的核心在于将输入的数据值转化为键存储在额外开辟的数组空间中。作为一种线性时间复杂度的排序,计数排序要求输入的数据必须是有确定范围的整数。计数排序需要两个额外的数组用来对元素进行计数和保存排序的输出结果,所以空间复杂度为O(k+n)。计数排序使用一个额外的数组C,其中第i个元素是待排序数组A中值等于i的元素的个数。
2024-03-17 09:49:16
338
1
原创 python快速排序
排序后的数组: [5, 6, 11, 12, 13]快速排序,又称划分交换排序(partition-exchange sort)
2024-03-09 08:13:41
195
原创 python归并排序
排序后的数组: [5, 6, 11, 12, 13]归并排序是一种分治的思想,将大问题拆解成为小问题,将一个大的数组先拆分成几个小的数组,然后再一点点的合并。举例说明:比如我们准备排序的数组是:9,5,8,4,7,3,6,2 这8个数首先,我们的算法会将整个的数组拆分。拆分步骤如下:到这里,整个数组已经无法继续拆分了。这里必须要说明的是,整个的算法是使用递归的方式一步步往下进行的。所以,走到第三步,已经是这个递归的尾部了。于是,我们就需要回溯到上一步,开始对数组进行整合排序。实际上,你可以理解为,“返回上一
2024-03-08 20:11:46
669
原创 python冒泡排序
它重复地走访过要排序的元素列,依次比较两个相邻的元素,如果顺序(如从大到小、首字母从Z到A)错误就把他们交换过来。走访元素的工作是重复地进行,直到没有相邻元素需要交换,也就是说该元素列已经排序完成。排序后的数组: [11, 12, 22, 25, 34, 64, 90]冒泡排序(Bubble Sort),
2024-03-08 19:13:16
188
原创 数据结构!!!
数据结构是一种用来组织和存储数据的方式,它定义了数据之间的关系和操作。数据结构可以有不同的形式和实现方式,如数组、链表、栈、队列、树和图等。数据结构的选择和设计对于实现特定的算法和解决问题非常重要,它可以影响到程序的效率和性能。数据结构也是计算机科学的基础知识之一,是理解和应用计算机科学的重要内容之一。数组是一种数据结构,它是一组相同类型的元素的集合。算法是解决问题的一系列步骤或规则,它描述了如何对输入数据进行处理,以获取所需的输出结果。算法可以通过使用合适的数据结构来实现,以提高执行效率和优化空间利用。
2024-03-08 14:52:33
207
1
原创 我重生了!
2. 计算图(Computational Graph):TensorFlow中的计算任务被表示为计算图,图中的节点表示操作,边表示数据流动。2. 自然语言处理:TensorFlow提供了一些常用的神经网络模型,如循环神经网络(RNN)和长短期记忆网络(LSTM),用于处理自然语言处理任务,如文本分类和机器翻译。它具有灵活的计算图表示和高效的计算能力,使得用户可以方便地构建和训练复杂的模型。4. 变量(Variable):TensorFlow中的变量可以在计算图中保持状态,可以被训练和更新。
2024-03-08 14:24:53
202
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人