亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? bin_tree.h

?? This software was done in part for a textbook on AI I ve written called _The Basis of AI_ (tentative
?? H
字號:
/*******************************************************************************++  LEDA 3.5+++  bin_tree.h+++  Copyright (c) 1995, 1996, 1997  by  LEDA Software GmbH+  Postfach 151101, 66041 Saarbruecken, Germany+  All rights reserved.+ *******************************************************************************/#ifndef LEDA_BIN_TREE_H#define LEDA_BIN_TREE_H//------------------------------------------------------------------------------//// bin_tree  ////     base class for all leaf oriented binary trees in LEDA//// Stefan N"aher (1993)////------------------------------------------------------------------------------#include <LEDA/basic.h> class bin_tree;class bin_tree_node;typedef bin_tree_node* bin_tree_item;typedef void (*DRAW_BIN_NODE_FCT)(double,double,void*,int);typedef void (*DRAW_BIN_EDGE_FCT)(double,double,double,double);//------------------------------------------------------------------------------// class bin_tree_node //------------------------------------------------------------------------------class __exportC bin_tree_node{     friend class __exportC bin_tree;   friend class __exportC avl_tree;   friend class __exportC bb_tree;   friend class __exportC rb_tree;   friend class __exportC rs_tree;   GenPtr   k;              // key   GenPtr   i;              // info   bin_tree_node* child[2]; // node: left and right child                            // leaf: successor and predecessor   bin_tree_node* parent;   // pointer to parent   bin_tree_node* corr;     // leaf: pointer to corresponding inner node                            // node: nil   int   bal;               // rebalancing data /*   public:*/   bin_tree_node(GenPtr key, GenPtr inf, int b)   { k = key;     i = inf;      bal = b;    }            bin_tree_node() { }            bin_tree_node(bin_tree_node* p)   { k = p->k;     i = p->i ;     bal = p->bal;    }            bool is_node()   { return (corr == nil);  }   bool is_leaf()   { return (corr != nil); }   void set_bal(int x) { bal = x; }   int  get_bal()      { return bal; }   LEDA_MEMORY(bin_tree_node)}; //------------------------------------------------------------------------------// class bin_tree//------------------------------------------------------------------------------class __exportC bin_tree{   protected:  enum { left=0, right=1 };  bin_tree_node ROOT;       // "super root" to avoid special cases in rotations                            // ROOT.child[left] points to real root node                            // ROOT.child[right] points to leftmost leaf  int count;              // functions depending on used rebalancing method  // will be defined in derived classes (rb_tree, avl_tree, ...)  virtual int leaf_balance() { return 0; }  // default balance value for leaves  virtual int node_balance() { return 0; }  // inner nodes  virtual int root_balance() { return 0; }  // root node  virtual void insert_rebal(bin_tree_node*)   {}  virtual void del_rebal(bin_tree_node*, bin_tree_node*) {}  // other protected member functions  bin_tree_node*& min_ptr() const                            { return (bin_tree_node*&)ROOT.child[right];}  void rotation(bin_tree_node*, bin_tree_node*, int);  void double_rotation(bin_tree_node*, bin_tree_node*, bin_tree_node*, int);  void del_tree(bin_tree_node*);  bin_tree_node* search(GenPtr) const;  bin_tree_node* copy_tree(bin_tree_node*,bin_tree_item&) const;  // functions depending on actual key type  // will be defined in dictionary and sortseq templates  virtual int  cmp(GenPtr x, GenPtr y) const                                         { return compare((long)x,(long)y); }  virtual int  type_id()          const { return UNKNOWN_TYPE_ID; }  virtual void clear_key(GenPtr&) const { }  virtual void clear_inf(GenPtr&) const { }  virtual void clear_iinf(GenPtr&)const { }  virtual void copy_key(GenPtr&)  const { }  virtual void copy_inf(GenPtr&)  const { }  virtual void print_key(GenPtr)  const { }  virtual void print_inf(GenPtr)  const { }public:  typedef bin_tree_node* item;  bin_tree_node*& root() const                            { return (bin_tree_node*&)ROOT.child[left]; }  bin_tree_node* cyclic_succ(bin_tree_node* p) const { return p->child[right]; }  bin_tree_node* cyclic_pred(bin_tree_node* p) const { return p->child[left]; }  bin_tree_node* succ(bin_tree_node* p) const  { return (p->child[right] == min_ptr()) ? 0 : p->child[right]; }  bin_tree_node* pred(bin_tree_node* p) const  { return (p == min_ptr())  ?  0 : p->child[left] ; }  bin_tree_node* first_item()  const               { return min_ptr(); }  bin_tree_node* end_item()    const               { return 0; }  bin_tree_node* next_item(bin_tree_node* p) const { return p ? succ(p) : 0; }  bin_tree_node* min() const { return min_ptr(); }  bin_tree_node* max() const { return (count>0) ? min_ptr()->child[left] : 0; }  bin_tree& conc(bin_tree&);  void split_at_item(bin_tree_node*,bin_tree&,bin_tree&);  void reverse_items(bin_tree_node*,bin_tree_node*);  bin_tree_node* insert(GenPtr,GenPtr,GenPtr=0);  bin_tree_node* insert_at_item(bin_tree_node*,GenPtr,GenPtr,GenPtr=0);  bin_tree_node* lookup(GenPtr) const;  bin_tree_node* locate(GenPtr) const;  bin_tree_node* locate_succ(GenPtr) const;   bin_tree_node* locate_pred(GenPtr) const;   GenPtr   key(bin_tree_node* p)  const { return  p->k; }  GenPtr&  inf(bin_tree_node* p)  const { return  p->i; }  void del(GenPtr);  void del_item(bin_tree_node* p);  void change_inf(bin_tree_node*,GenPtr);  void clear();  int size()   const { return count; }   int empty()  const { return root() ? false : true ; }// set operations  void add(const bin_tree&);  void intersect_with(const bin_tree&);  void subtract(const bin_tree&);  //void symdiff(const bin_tree&);  bool contains(const bin_tree& T) const;  // construction, assignment, destruction  bin_tree() {  count = 0; root() = nil; min_ptr() = nil; }  bin_tree(const bin_tree&);  bin_tree& operator=(const bin_tree&);  virtual ~bin_tree() { clear(); }  // additional operations used by range and segment trees  virtual void propagate_modification(int, GenPtr, GenPtr) {}  bin_tree_node* l_child(bin_tree_node* p) const  { return p->is_leaf() ? 0 : p->child[left]; }  bin_tree_node* r_child(bin_tree_node* p) const  { return p->is_leaf() ? 0 : p->child[right]; }  int is_inner(bin_tree_node* p)  const  { return p->corr == 0; }  bin_tree_node* parent(bin_tree_node* p)  const  { return (p==root()) ? 0 : p->parent; }  // miscellaneous  void draw(DRAW_BIN_NODE_FCT, DRAW_BIN_NODE_FCT, DRAW_BIN_EDGE_FCT,             bin_tree_node*, double, double, double, double, double);  void draw(DRAW_BIN_NODE_FCT, DRAW_BIN_NODE_FCT, DRAW_BIN_EDGE_FCT,             double, double, double, double);  void print() const;  void print_tree(bin_tree_node*,int) const;  friend ostream& operator<<(ostream& out, const bin_tree&) { return out; }  friend istream& operator>>(istream& in, bin_tree&) { return in; }};inline void bin_tree::rotation(bin_tree_node* p,bin_tree_node* q, int dir){ bin_tree_node* r = q->child[1-dir];  bin_tree_node* x = p->parent;  p->child[dir] = r;  q->child[1-dir] = p;  p->parent = q;  r->parent = p;  if (p == x->child[left])     x->child[left] = q;  else     x->child[right] = q;  q->parent = x;  propagate_modification(4,p,r);  propagate_modification(5,q,p);  if( x!=&ROOT )    propagate_modification(6,x,q); }inline void bin_tree::double_rotation(bin_tree_node* p, bin_tree_node* q,                                       bin_tree_node* r, int dir1){ int dir2 = 1-dir1;  bin_tree_node* s = r->child[dir1];  bin_tree_node* t = r->child[dir2];  bin_tree_node* x = p->parent;  p->child[dir1] = t;  q->child[dir2] = s;  r->child[dir1] = q;  r->child[dir2] = p;  p->parent = r;  q->parent = r;  s->parent = q;  t->parent = p;  if (p == x->child[left])     x->child[left] = r;  else     x->child[right] = r;  r->parent = x;  propagate_modification(7,p,t);  propagate_modification(8,q,s);  propagate_modification(9,r,p);  propagate_modification(10,r,q);  if( x!=&ROOT )    propagate_modification(11,x,r);}#endif

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
成人精品高清在线| 中文字幕精品—区二区四季| 欧美三片在线视频观看| jizz一区二区| 成人午夜伦理影院| 成人美女在线视频| 91一区二区在线| 色天使久久综合网天天| 日本乱码高清不卡字幕| 99久久综合狠狠综合久久| 97精品视频在线观看自产线路二 | 在线观看视频一区二区欧美日韩| av动漫一区二区| 成人小视频免费在线观看| 成人免费毛片片v| 91最新地址在线播放| 色婷婷精品大在线视频| 欧美三日本三级三级在线播放| 欧美视频一区二区| 91.com在线观看| 欧美变态tickling挠脚心| 精品精品国产高清a毛片牛牛| 精品国免费一区二区三区| 久久综合色天天久久综合图片| 久久久久久免费毛片精品| 亚洲国产成人在线| 亚洲视频1区2区| 天天av天天翘天天综合网| 日本vs亚洲vs韩国一区三区| 国产一区美女在线| av欧美精品.com| 欧美日韩国产美女| 欧美成人乱码一区二区三区| 国产视频一区在线观看| 亚洲欧美在线视频观看| 亚洲一线二线三线视频| 日本不卡一区二区| 精品午夜一区二区三区在线观看 | 欧美三日本三级三级在线播放| 3751色影院一区二区三区| 欧美va在线播放| 国产精品二三区| 午夜精品久久久久久久久| 久久se这里有精品| av一区二区三区四区| 欧美人动与zoxxxx乱| 精品国产成人在线影院| 中文字幕一区日韩精品欧美| 丝袜亚洲另类欧美综合| 高清不卡一区二区在线| 欧美亚洲一区二区在线| 精品国产3级a| 亚洲日本乱码在线观看| 久久99久久久久| 91在线你懂得| 精品免费国产二区三区| 一区二区三区四区不卡在线| 久久成人av少妇免费| 色综合天天综合网天天看片| 2023国产精品自拍| 亚洲一区在线观看网站| 国产99久久久精品| 欧美一级片在线看| 自拍视频在线观看一区二区| 美女网站色91| 日本高清不卡aⅴ免费网站| 久久久久久久网| 偷拍亚洲欧洲综合| 93久久精品日日躁夜夜躁欧美| 精品999久久久| 日韩精品一级中文字幕精品视频免费观看 | 精久久久久久久久久久| 色偷偷久久人人79超碰人人澡| 精品欧美黑人一区二区三区| 亚洲人精品午夜| 成人综合婷婷国产精品久久| 欧美一区二区三区免费| 亚洲一区精品在线| 99视频一区二区三区| 国产亚洲成年网址在线观看| 视频一区视频二区中文| 一本大道久久精品懂色aⅴ | 久久精品国产第一区二区三区| 一本大道久久a久久精品综合| 久久精品免费在线观看| 麻豆精品视频在线观看视频| 欧美三级中文字幕| 亚洲精品亚洲人成人网在线播放| 丁香亚洲综合激情啪啪综合| 精品三级在线看| 免费成人你懂的| 欧美久久久久中文字幕| 亚洲亚洲人成综合网络| 一本一道久久a久久精品| 国产精品天天摸av网| 国产在线精品不卡| 久久网站最新地址| 国内精品不卡在线| 久久免费国产精品 | 欧美一区二区在线播放| 亚洲国产综合人成综合网站| 色综合视频一区二区三区高清| 亚洲欧洲美洲综合色网| 99视频精品免费视频| 亚洲欧洲99久久| 97se亚洲国产综合在线| 亚洲人123区| 日本道免费精品一区二区三区| ㊣最新国产の精品bt伙计久久| voyeur盗摄精品| 综合网在线视频| av一区二区三区| 亚洲美女在线一区| 欧美亚洲国产一卡| 天堂成人国产精品一区| 91精品国产综合久久精品app | 欧美最猛黑人xxxxx猛交| 一区二区三区在线看| 欧美性受xxxx黑人xyx| 图片区小说区区亚洲影院| 欧美一级一区二区| 久久se精品一区二区| 国产欧美日产一区| 99re视频精品| 亚洲一级二级在线| 日韩欧美一区在线观看| 久久福利视频一区二区| 国产欧美一区二区三区在线老狼| 国产69精品久久久久毛片| 中文字幕日韩一区| 欧美在线免费播放| 五月天中文字幕一区二区| 日韩情涩欧美日韩视频| 国产精品一区二区在线观看不卡 | 天堂资源在线中文精品| 日韩视频永久免费| 春色校园综合激情亚洲| 日韩毛片视频在线看| 欧美日韩亚洲综合一区二区三区| 美女网站色91| 国产精品毛片久久久久久| 欧美在线你懂的| 精品亚洲porn| 一区二区三区在线播放| 欧美一区二区三区小说| 国产精品456| 亚洲一级不卡视频| 精品国产免费一区二区三区香蕉| 波多野洁衣一区| 日日嗨av一区二区三区四区| 国产偷v国产偷v亚洲高清| 在线观看av一区二区| 极品尤物av久久免费看| 亚洲丝袜精品丝袜在线| 日韩一区二区视频| 99在线精品视频| 日本欧美肥老太交大片| 18欧美乱大交hd1984| 欧美一级专区免费大片| www.亚洲国产| 久久99国产精品久久99| 一区二区三区在线视频免费观看 | 亚洲不卡在线观看| 久久精品亚洲麻豆av一区二区| 91福利国产精品| 国产精品456| 日产国产高清一区二区三区| 亚洲日本在线观看| 久久精品在线免费观看| 9191久久久久久久久久久| 成人免费黄色在线| 美女国产一区二区三区| 亚洲精品高清在线| 国产女人18水真多18精品一级做| 欧美高清一级片在线| 97精品超碰一区二区三区| 国内精品写真在线观看| 亚洲网友自拍偷拍| 中文字幕成人网| 欧美精品一区二区在线播放| 欧美日韩国产中文| 一本高清dvd不卡在线观看 | 日韩欧美中文字幕制服| 91精彩视频在线观看| 成人一区二区三区视频在线观看 | 性久久久久久久久| 亚洲视频一区二区在线| 精品99一区二区| 这里只有精品电影| 欧美日韩视频专区在线播放| 91在线小视频| 波多野洁衣一区| 成人app网站| 成人高清在线视频| 成人一区二区视频| 成人午夜av影视| 风间由美一区二区av101| 韩国av一区二区三区在线观看| 老司机免费视频一区二区三区| 日韩av一二三|