Matlab 版 (精华区)

发信人: zjliu (秋天的萝卜), 信区: Matlab
标  题: 查找算法  ZZ
发信站: BBS 哈工大紫丁香站 (Tue May 25 16:14:33 2004)

转于饮水思源站

查找算法
     折半查找
     function binsearch(k:keytype):integer;
     var low,hig,mid:integer;
     begin
          low:=1;hig:=n;
          mid:=(low+hig) div 2;
          while (a[mid].key< >k) and (low< =hig) do
          begin
               if a[mid].key >k then hig:=mid-1
               else low:=mid+1;
               mid:=(low+hig) div 2;
          end;
          if low >hig then mid:=0;
          binsearch:=mid;
     end;

     树形查找
     二叉排序树:每个结点的值都大于其左子树任一结点的值而小于其右子树任一结点

          if low >hig then mid:=0;
的值。
     查找
     function treesrh(k:keytype):pointer;
     var q:pointer;
     begin
          q:=root;
          while (q< >nil) and (q^.key< >k) do
               if k< q^.key then q:=q^.left
               else q:=q^.right;
          treesrh:=q;
     end;
--
╔═══════════════════╗
║★★★★★友谊第一  比赛第二★★★★★║
╚═══════════════════╝


※ 来源:·哈工大紫丁香 http://bbs.hit.edu.cn·[FROM: 202.118.229.*]
[百宝箱] [返回首页] [上级目录] [根目录] [返回顶部] [刷新] [返回]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:3.556毫秒