- 博客(6)
- 收藏
- 关注
原创 排序算法02-手撕选择排序代码及时间复杂度分析
上一篇,讲冒泡排序的时候,讲了排序的稳定性,内部排序和外部排序,没有理解清楚的同学可以回放上期的视频,这期内容我们主要来看看选择排序和排序算法的时间复杂度分析。数列中有两个5,第0次选择出最小的2和第0个位置的5交换位置,交换之后,0零个位置的数字5跑到了第2个位置的5的后边了,所以。第1次选择,从剩余待排序数中找出最小的数字3,和位置1数字交换位置。第二次选择,从剩余待排序中找出最小的数字5,和位置2的数字交换位置。第三次选择,从剩余待排序中找出最小的数字5,和位置3的数字交换位置。
2024-02-02 17:01:40
289
原创 排序算法详解01-冒泡排序
数组中的元素全部是在内存中的,这就是内部排序。废话不多说,我们来举个栗子,假如待排序的序列22, 34, 3, 32, 82, 55 82 中有两个82,在排序之后,这两个82的先后顺序保持不变,那么这个排序算法就是稳定的排序算法,如果这两个82位置发生了变化,那么这个排序算法就是不稳定的排序算法。难点可能是在里层冒泡次数j < len - 1 - i这里了,这行代码简单说就是,每次冒泡比较n个数,我们需要比较len -1次,由于我们冒泡一次就会有一个数在应该在的位置,冒泡i次,就有i个数在应该在的位置。
2024-01-31 15:00:53
257
原创 C语言系列04- C程序,include指令、头文件、变量声明,函数声明初识
除了main()函数,你可以任意命名其他函数,而且main()函数必须是开始的函数。一般而言,所有的C函数都使用花括号标记函数体的开始和结束。比如我们在项目开发中,可以把一些自己开发的常用的工具函数集中到一起,做成我们自己开发的函数库。然后把相关的函数声明,预定义的常量等封装到一个.h 的头文件中。C标准建议,要为程序中用到的所有函数提供函数原型。在程序中,被/* */两个符号括起来的部分是程序的注释。示例中的num是一个标识符(identifier),也就是一个变量、函数或其他实体的名称。
2024-01-30 13:15:42
1071
1
原创 C语言系列03-从机器语言-汇编-到高级语言的进化史中了解计算机的工作原理
内存是由DRAM芯片组成的。从上边的内容可以看到,机器语言和汇编语言,都是机器的思维方式,需要把我们要做的事情按照机器的思维方式把每一个步骤都清晰的描述出来。比如解决问题的顺序执行的步骤,if/else的分支判断的运行步骤,for/while循环,加减乘除的运算等等更接近人类的自然语言。在这里需要注意,CPU只能识别机器语言,我们使用高级语言编写的程序,CPU是不认识的,在执行之前,需要先进行编译转换。不同的CPU的机器指令集是不同的,因此使用机器语言编写的程序,只能在特定的机器上运行,不具有可移植性。
2024-01-29 13:15:50
463
原创 C语言系列02-C语言的优缺点、应用场景及语言标准
一门开发语言当中,基本的数据类型(int float, string,char,boolean,array),变量的声明,加减乘除算术运算,与或非等逻辑运算、大于等于小于等关系运算,赋值语句,分支选择语句(if/else),循环语句(for, while),函数的声明及调用,文件操作等基本都是类似的。智能手表,电视,冰箱,扫地机器人等使用微处理器的设备上的软件开发,由于资源有限需要优化内存和性能,因此,C语言在该领域的应用开发比较流行。C语言可以用于游戏引擎的开发,图像处理,音视频处理等领域。
2024-01-26 17:16:41
1091
1
原创 C语言系列01-解析C语言编译、链接和运行源文件
用C编写的程序被存储在文本文件中,该文件就被称之为源文件(source code file)。比如如下的代码。
2024-01-23 21:17:42
1793
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人