- 博客(6)
- 收藏
- 关注
原创 008算法和数据结构入门简介
【硬计算类算法】:精确求解:但是某些问题使用硬计算类的算法,可能会让计算的复杂度较高大厂算法和数据结构笔试、面试题、acm比赛或者和acm形式类似的比赛,考察的都是硬计算类算法。计算时间可控比如:模糊逻辑、神经网络、进化计算、概率理论、混沌理论、支持向量机、群体智能。硬计算类算法是所有程序员岗位都会考、任何写代码的工作都会用到的。硬计算类算法、软计算类算法注意:这两个名词都不是计算机科学或算法中的标准术语。但是算法工程师除了掌握硬计算类的算法之外,还需要掌握软计算类的算法。#整理归纳自左程云老师。
2024-09-25 21:53:34 174
原创 007 时间复杂度和空间复杂度
5,算法流程上利用随机行为作为重要部分的,还有随机快速排序(【必备】课)、跳表(【扩展】课)也只在乎平均或者期望的时间复杂度,因为最差的时间复杂度无意义。9,时间复杂度的均摊,用动态数组的扩容来说明(等比数列、均摊的意义)并查集、单调队列、单调栈、哈希表等结构,均有这个概念。这些内容【必备】课都会讲。+ N/N,这个流程的时间复杂度是0CN *LogN),著名的调和级数。6,时间复杂度的内涵:描述算法运行时间和数据量大小的关系,而且当数据量很大很大时,这种关系相当的本质,并且排除了低阶项和常数时间的干扰。
2024-09-25 21:52:03 246
原创 006 二分搜索
前置知识:无建议:1)会的同学可以跳过,2、3、4)不要跳过1)在数组中确定num存在还是不存在2)在有序数组中找>=num的最左位置3)在有序数组中找
2024-09-22 23:59:45 852
原创 005【对数器】
1,你想要测的方法a(最优解)2,实现复杂度不好但是容易实现的方法b(暴力解)3,实现一个随机样本产生器(长度也随机、值也随机)4,把方法a和方法b跑相同的输入样本,看看得到的结果是否一样5,如果有一个随机样本使得比对结果不一致,打印这个出错的样本进行人工干预,改对方法a和方法b6,当样本数量很多时比对测试依然正确,可以确定方法a(最优解)已经正确。关键是第5步,找到一个数据量小的错误样本,然后把错误例子带入代码一步一步排查Print大法、断点技术都可以。
2024-09-19 13:54:08 920
原创 算法讲解004 选择、冒泡、插入排序
选择排序一句话:[i]~[n-1]范围上,找到最小值并放在i位置,然后[i+1]~[n-1]范围上继续冒泡排序一句话:[0]~[i]范围上,相邻位置较大的数滚下去,最大值最终来到i位置,然后0~i-1范围上继续插入排序一句话:[0]~[i]范围上已经有序,新来的数从右到左滑到不再小的位置插入,然后继续。
2024-09-15 21:32:47 701
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人