数据结构 顺序查找(算法思想和源代码)
来源:互联网 发布:直销结算软件 编辑:程序博客网 时间:2024/06/03 23:48
Ⅰ )算法思想:
在表的一端设置一个称为“监视哨”的附加单元,存放要查找元素的关键字,从表的另一端开始查找,如果在“监视哨”找到要查找元素的关键字,返回失败信息,否则,返回相应下标。
Ⅱ)性能分析:
假设列表长度为n,那么查找到第i 个元素时,需要进行n-i+1次比较。
ASL = 1/n∑(n-i+1) = (n+1)/2
Ⅲ)源代码:
#include<stdio.h>#define MaxSize 20 //线性表长度typedef struct{ int key;}RecordType; typedef struct{ int length; RecordType r[MaxSize + 1]; }RecordList; int SeqSearch(RecordList l, int key){ int i; l.r[0].key = key; //将要查找的值赋给监视哨 i = l.length; while (l.r[i].key != key) { i--; } return i; //当l.r[i].key == key时返回下标} int main(){ RecordList L = { 6, 0, 12, 15, 20, 25, 45, 50 }; printf("%d\n", SeqSearch(L, 20)); //输出元素20所在的下标 return 0;}
阅读全文
0 0
- 数据结构 顺序查找(算法思想和源代码)
- 数据结构 折半查找法(算法思想和源代码)
- 一步一步复习数据结构和算法基础-顺序查找+二分查找
- 数据结构与算法(9)顺序查找
- 【数据结构】查找算法:二分查找、顺序查找
- 数据结构与算法-顺序查找
- 【数据结构与算法】顺序查找
- <数据结构与算法>顺序查找
- 【算法和数据结构】1.3–分治思想之二分查找(C++实现)
- 一步一步复习数据结构和算法基础-索引顺序表查找
- 数据结构与算法-查找-顺序查找
- 【数据结构----笔记1】查找算法之【顺序查找和折半查找】
- 数据结构和算法------查找
- 数据结构与算法(C语言版)__顺序查找
- 数据结构 顺序查找和二分查找
- 数据结构---顺序查找和折半查找
- 【数据结构】算法9.1 顺序表查找-顺序查找
- 顺序查找算法和二分查找算法
- java面试题(中)
- android 事件处理
- 在线安装Eclipse插件时,出现错误
- java面试知识点整理之扩展系列
- 递归查找子物体/获取子物体上组件
- 数据结构 顺序查找(算法思想和源代码)
- 模仿NameNode和DataNode之间通信
- 数据结构-->栈-数组实现
- spring依赖对象的自动装配
- angular中$scope.$apply和$scope.$digest的区别
- python绘制随机网络图形
- NO4、python运算符
- 栈的应用 表达式求值
- POJ 2406 Power Strings (KMP) kmp循环节