温故而知新---1

博客介绍了冒泡、选择、插入三种排序(n2)的缺点及优化方法,如冒泡排序设标志位判断是否有序,选择排序从两边移动找最值等。还提及跳出多层循环的方法,以及文件类型、编译解释区别、哈希表等编程基础知识和注意要点。

三种排序(n2)的缺点及优化

冒泡排序
  1. 假如有n个元素,需要进行n - 1 趟,每趟进行完应该判断是否已经有序,可以减去不必要的操作。

  2. 操作方法:每一趟设置一个标志位,如果有元素的移动,标志位改变。反之就可以看出该序列已经有序。

选择排序
  1. 每一趟只会把最小元素放到前边。效率比较低。

  2. 操作方法:从两边开始移动,同时比较出最大值和最小值。

插入排序
  1. 查找的时候效率低而且每次只能插入一种元素。此外移动也比较麻烦。

  2. 操作方法:查找—二分法 移动—链表化 插入—希尔排序

  3. 希尔(shell)排序本质也属于插入排序的一种,它是第一个突破(n2)的排序算法。

跳出多层循环的方法

  1. 在一个函数中,exit()和return()。

  2. break—flag

  3. 设置相同变量接管循环

  4. 在内层修改外部循环条件

  5. goto—loop

基础知识

文件
  • *.vbs 是vb的脚本语言。
  • *.bat 是批处理文件。
  • *.ink 是快捷方式。
  • *.ini 是初始化文件,可以用记事本打开。
  • 注册表是重要的系统数据库,可以在命令中输入regedit 管理。
  • DLL 是动态链接库,是一个包含可由多个程序,同时使用的代码和数据的库。*.sz 代表以0 结尾的字符串。
  • API 是交互式的函数接口。
  • 哈希表是输入一个数据返回一个整数。是根据关键码值(Key value)而直接进行访问的数据结构。对不同的关键字可能得到同一散列地址,即k1≠k2,而f(k1)==f(k2),这种现象称为冲突(英语:Collision)。通过散列函数,数据元素将被更快地定位。可以使用生成哈希和时间戳的和的密码函数进行文件判定。如MD5值
朝花夕拾
  1. 编译:compile 编译是将源代码转换成目标代码的过程。解释 translate 将源代码逐条转换成目标代码,同时逐条运行目标代码的过程。

  2. 随着Java,Python等基于虚拟机的语言(JAVA 虚拟机 (JVM),Python虚拟机_(PVM))的兴起,我们又不能把语言纯粹地分成解释型和编译型这两种。

  3. Debug称为调试版本,编译的结果通常包含有调试信息,没有做任何优化,方便开发人员进行调试,Release称为发布版本,不会携带调试信息,同时编译器对代码进行了很多优化,使代码更小,速度更快。

  4. Debug 所分配的内存更大,因为要有前后调试信息的部分。而且对于未初始化的变量,Debug模式下会默认对其进行初始化,而Release模式则不会。

  5. python中 **%**是取模,而在Java,c 是 取余。

  6. 路径正左反右,Linux系统和网址上用正,Windows系统用反斜杠。

注意要点
  1. 指针不需要及时变为空指针。

  2. 适当的空行与tab 更加美观。

  3. if(0 == x)

  4. switch注意有无break。

  5. 逻辑和关系运算符多使用。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值