获得徽章 1
#青训营 x 字节后端训练营# 后端训练营今天就正式结束啦!一个月的时间里学习了很多后端知识,推开了新领域的大门。现在才发现原来接触过的数据结构、操作系统、计算机组成原理、计算机网络四门课,是今后学习一切知识的基础,很多知识都是在基础知识上的延伸和拓展,这也坚定了我今后继续学习的决心。加油,下一段旅程,我们再见!
评论
#青训营 x 字节后端训练营# 在计数排序中,待排序元素x的大小是可能重复的,这样就需要我们对计数的数组c的值访问之后减1,保证和x一样大的元素能放在其前面,保证算法的稳定性。
评论
#青训营 x 字节后端训练营# 根据昨天的讨论,如何确定数组中小于等于当前需要排序的数x的个数i呢?我们可以专门开辟一个数组c[],然后遍历数组,确定数组a中每个元素中出现的频率,然后就可以确定对于a中每个元素x,小于等于这个元素的个数。然后就可以把元素x放到对应位置了。
评论
#青训营 x 字节后端训练营# 对于计数排序具体实现方法,对一个待排序的元素x,可以确定小于等于x的个数i,根据这个个数i,我们就可以把x放到索引i处。
评论
#青训营 x 字节后端训练营# 计数排序的优点还有就是可以处理有负数元素的情况。我们可以将整个数组的整体加上一个整数,使得整个数组的最小值大于等于0然后进行排序。在排序完成后只需要再将每个元素减去所加整数即可恢复原数组。
评论
#青训营 x 字节后端训练营# 由于计数排序需要满足的要求比较多,因此使用的范围比较有限。计数排序要求数据必须是整数,而且最大值与最小值的差值不能过大,否则时间复杂度和空间复杂度都会有很明显的提高。
评论
#青训营 x 字节后端训练营# 计数排序的最好、最坏、平均时间复杂度均为O(n+k),其中k为数组中元素的最大值;而空间复杂度同样为O(n+k)。计数排序是稳定的。
评论
#青训营 x 字节后端训练营# 今天休息一天,先不学习啦。劳逸结合,明天继续出发。计算机的专业课还是时看时新,永远都有收获的!
评论
#青训营 x 字节后端训练营# 冒泡排序即从第一个元素开始比较两个相邻元素的大小,若满足前者比后者大即交换位置,直到比较到最后一个元素。如此循环n次即可完成对整个数组的从小到大排序。从大到小则比较规则相反,其余同理。
评论
#青训营 x 字节后端训练营# 冒泡排序是最基础最简单的排序算法,当然也就意味着效率不尽如人意,平均时间复杂度和最坏时间复杂度均为平方级别,不过在空间方面表现较好为常数级别。
评论
#青训营 x 字节后端训练营# 排序算法是数据结构中非常基础但是非常重要的一类算法。常见的排序算法有很多,这几天主要研究一下冒泡排序、计数排序、快速排序、归并排序、插入排序、选择排序这六种排序算法。
评论
#青训营 x 字节后端训练营# 熟悉DP的常见模型对于具体问题的分析能起到非常大的启发作用。如背包问题,用不同的背包去装不同的东西,每个东西的重量和价值都是不同的,每个背包的容量和消耗也是不同的,这就是DP最经典最基础的背包模型。
评论
#青训营 x 字节后端训练营# 在完成状态转移方程的构建之后,我们就要确定整个问题的初始状态。根据我们所定义的状态来为DP数组的第一项或前几项赋值,从而计算依次得到后面所要求的所有值。
评论
#青训营 x 字节后端训练营# DP最难的部分在于列出状态转移方程。这需要一定的经验积累和思维训练,凭空想是很难从零开始想到的,必须要在熟悉DP模型的基础上来进行。这也需要进行大量的训练,多看多学多记多练,在实际应用中找到诀窍。
评论
下一页
个人成就
文章被点赞 1
文章被阅读 399
掘力值 62
收藏集
1
关注标签
5
加入于