[TOC] 20182306 2019 2020 1 《数据结构与面向对象程序设计》第八周学习总结 教材学习内容总结 查找 线性查找即按顺序从前向后一个一个进行查找,但是为了提高代码运行效率,可以在第一个位置设置哨兵,从后向前查找。如果查找到的位置是在哨兵位置,则说明未找到这一目标。 折半查找:时间 ...
分类:
其他好文 时间:
2019-11-04 17:36:00
阅读次数:
95
以下我说的排序算法都是说的从小到大排序 1.插入排序 插入排序是每次都确定一个数,在最差情况下,每次都需要遍历当前插入元素的前面所有元素,所以其时间复杂度为O(N^2),有一个哨兵位置,所以空间复杂度为O(1),插入排序是稳定的排序算法 2.冒泡排序 冒泡排序是每次都是从前到后的扫描,每次都把最大的 ...
分类:
编程语言 时间:
2019-05-02 11:25:10
阅读次数:
95
囧,道理很简单,实践起来却不容易。 因为编程语言跟算法描述数据结构并不能完全一致,所以理论到实践还是有些出入的。 下面的例子是没有哨兵位置的实现: ...
分类:
编程语言 时间:
2017-02-27 01:00:46
阅读次数:
233
插入排序 直接插入排序:直接插入算法思想:从第一个开始放置哨兵,将前端不断的生成已经排好序的队列,然后哨兵位不断的向后移动,将哨兵位的数不断的插入前端排好序的队列中,直到哨兵到队列的最后一位完成排序。升序算法实现:void sort(int a[],int n){for(int i=1;i<n;i+ ...
分类:
编程语言 时间:
2016-07-17 11:20:51
阅读次数:
223
头文件:
#include
using namespace std;
#define MAX 10
typedef struct
{
int r[MAX+1];
}Sqlist;
// 比较大小并插入
void InsertSort(Sqlist &sl, int n)
{
int j;
for (int i = 2; i < 7; ++i)
{
if (sl.r[i...
分类:
编程语言 时间:
2015-06-23 20:06:28
阅读次数:
403