校招知识点总结篇之数据结构算法

1.常用数据结构简介

数据、数据元素、数据项、数据对象

物理结构:顺序、链式存储

逻辑结构:集合结构、线性结构、树形结构、图形结构

算法的特性:输入、输出、有穷性、确定性、可行性

2.排序算法有哪些?

注:时间复杂度——算法所花费时间;空间复杂度——算法运行所占内存的大小;稳定性——相等的两个数a与b,排序前a在b前面,若排序后位置不变则稳定,反之则不稳定;内排序——排序在内存中完成;外排序——数据量大,排序要通过内存和磁盘;                                                                             我们常说的算法是内部排序算法(插入、选择、交换、归并),排序算法分为比较排序、非比较排序(基数、计数、桶排序)

1.1 最快的排序算法是哪个

数据规模较小:直接插入排序(序列基本有序);简单选择排序(不稳定),对稳定性有要求宜用插入或冒泡(稳定);

数据规模较大:快速排序(序列无序,不稳定);归并排序(序列无序,稳定,内存大);

数据规模巨大:归并排序(稳定)或堆排序(不稳定)

1.2常见排序算法的过程及详细代码(8大)

冒泡排序:对于给定的n个记录,两两比较相邻记录的关键字,若反序则交换,直到没有反序记录为止。

 

简单选择排序:通过n-i次关键字比较间的比较,从n-i+1个记录中选出关键字最小的记录,并和第i个记录交换。

直接插入排序:将一个记录插入到已排好序的有序表中,得到一个新的、记录数增1的有序表。假设第一个记录自成一个有序序列,按记录大小依次插入,直至最后一个记录插入有序序列为止。

  • 0
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值