国产秋霞理论久久久电影-婷婷色九月综合激情丁香-欧美在线观看乱妇视频-精品国avA久久久久久久-国产乱码精品一区二区三区亚洲人-欧美熟妇一区二区三区蜜桃视频

紅黑樹算法

共 11345字,需瀏覽 23分鐘

 ·

2021-03-18 10:15

點擊上方小白學視覺”,選擇加"星標"或“置頂

重磅干貨,第一時間送達

本文轉(zhuǎn)自:機器學習算法工程師


背景


紅黑樹是AVL樹里最流行的變種,有些資料甚至說自從紅黑樹出來以后,AVL樹就被放到博物館里了。紅黑樹是否真的有那么優(yōu)秀,我們一看究竟。紅黑樹遵循以下5點規(guī)則,需要我們理解并熟記。




規(guī)則: 

1.樹節(jié)點要么是紅的,要么是黑的

2.樹的根節(jié)點是黑的

3.樹的葉節(jié)點鏈接的空節(jié)點都是黑的,即nullNode為黑

4.紅色節(jié)點的左右孩子必須是黑的

5.從某節(jié)點到null節(jié)點所有路徑都包含相同數(shù)目的黑節(jié)點



正是因為作為二叉查找樹的紅黑樹滿足這些性質(zhì),才使得樹的節(jié)點是相對平衡的。由歸納法得知,如果一顆子樹的根到nullNode節(jié)點的路徑都包含B個黑色節(jié)點,則這棵子樹含有除nullNode節(jié)點外的2^B-1個節(jié)點,而由性質(zhì)4得從根到nullNode節(jié)點的路徑上至少有一半的節(jié)點是黑色的,從而得到樹包含的節(jié)點數(shù)n>=2^(h/2)-1,h是樹的深度,從而得到h<=2*log(n+1)。即可以保證紅黑樹的深度是對數(shù)的,可以保證對樹的查找、插入刪除等操作滿足對數(shù)級的時間復雜度。

下邊我們將討論紅黑樹最主要的兩個算法,插入和刪除。


紅黑樹的插入
為了不違反規(guī)則5,所以我們將帶插入的節(jié)點先染成紅色,再進行調(diào)整以滿足其他性質(zhì)。為了能夠清晰的解決問題,我們可以將紅黑樹的插入分為以下五種情況:
情況1:插入空樹中,插入的節(jié)點是根節(jié)點

情況2:插入的節(jié)點的父親是黑色的

情況3:插入的節(jié)點的父親是紅色的,而父節(jié)點的兄弟為黑色,且插入節(jié)點為外部節(jié)點(要找到它要么一直遍歷做節(jié)點,要么一直遍歷右節(jié)點)

情況4:插入的節(jié)點的父親是紅色的,而父節(jié)點的兄弟為黑色,且插入節(jié)點為內(nèi)部節(jié)點(不是外外部節(jié)點的節(jié)點)

情況5:插入的節(jié)點的父親是紅色的,而父節(jié)點的兄弟也是紅色的



對于第一種情況:插入后將根節(jié)點再染成黑色即可。

對于第二種情況:直接插入依然滿足性質(zhì)。首先設(shè)X是新增節(jié)點,P是其父節(jié)點,S是其父節(jié)點的兄弟節(jié)點,G是其的祖父節(jié)點。

對于第三種情況:違反了性質(zhì)4,我們可以通過對P進行右旋和節(jié)點的重新著色對樹進行修復(應對三、四兩種情況我們的著色方式都是:在旋轉(zhuǎn)前先將要旋轉(zhuǎn)的根節(jié)點染紅,然后旋轉(zhuǎn),最后將新的根節(jié)點染黑)見下面的“圖2”。

對于第四種情況:亦是如此,只不過我們需要兩次旋轉(zhuǎn),先對P做左旋再對G做右旋,并重新著色,見下面的“圖3”。

對于第五種情況:我們?nèi)绻凑杖膬煞N情況的修復方式是無法滿足性質(zhì)的,我們就考慮旋轉(zhuǎn)后將新的根節(jié)點染紅,未插入之前的父節(jié)點的兄弟節(jié)點染紅,新根節(jié)點的孩子節(jié)點染黑。這樣出現(xiàn)的問題是新根節(jié)點的父節(jié)點可能是紅的。此時,我們只能向著根的方向逐步過濾這種情況,不再有連續(xù)的兩個紅色節(jié)點或遇到根節(jié)點為止(把根重染成黑色)。這種策略自底向上,逐步遞歸完成,見下面的“圖4”。

       我們還有一種策略是自頂向下,如果遇到一個黑色節(jié)點有兩個紅色節(jié)點,我們將進行顏色翻轉(zhuǎn)(如果節(jié)點X有兩個紅色孩子,我們將X染成紅色,將它的兩個孩子染成黑色),如果X的父節(jié)點也是紅色的呢?我們這又歸于3、4兩種情況。X的父節(jié)點的兄弟節(jié)點會不會是紅色的呢?答案是不會,應為我們自頂向下已經(jīng)排除了這種情況。此時我們可以排除情況5,將所有情況都轉(zhuǎn)換為情況一到四的處理,除了特殊情況,就剩下情況三和情況四了。

下邊是Java代碼具體實現(xiàn):

public void insert(E item){
current = parent = grand = header;
   nullNode.element = item;
   //當未找到正確插入位置時,一直向下查找,
   //并對樹中一個黑節(jié)點有兩個紅節(jié)點的情況進行調(diào)整  
   while(compare(item,current)!=0){
great = grand;
       grand = parent;
       parent = current;
       current = compare(item,current)<0?current.left:current.right;
       if(current.left.color==RED&t.right.color==RED)
handleReorient(item);
   }

if(current!=nullNode){
System.out.println("該項已存在");
       return;
   }
//創(chuàng)建節(jié)點并插入修復  
   current = new RedBlackNode<E>(item, nullNode, nullNode);
   if(compare(item,parent)<0){
parent.left = current;
   }
else{
parent.right = current;
   }
current.parent = parent;
   handleReorient(item);
   nullNode.element = null;
}

//對要插入的節(jié)點的鏈進行調(diào)整修復  
private void handleReorient(E item){
current.color = RED;
   current.left.color = BLACK;
   current.right.color = BLACK;
   if(parent.color == RED){
grand.color = RED;//先把要旋轉(zhuǎn)的樹的根節(jié)點染紅  
       // 如果不是外節(jié)點,則需要旋轉(zhuǎn)兩次,
       // 第一次旋轉(zhuǎn)以
parent為根,這里傳過去的參數(shù)樹根的父節(jié)點  
       if((compare(item,parent)<0)!=(compare(item,grand)<0))
parent = rotate(item,grand);
       current = rotate(item,great);
       current.color = BLACK;//將新的根節(jié)點染黑  
   }
header.right.color = BLACK;//將整棵樹的根節(jié)點染黑  
}

/**
* 明確旋轉(zhuǎn)樹在根的左邊還是右邊后,
* 我們將旋轉(zhuǎn)樹父節(jié)點指向根,如果
* 最終項在左邊就右旋,在右邊就左旋
* @param item 最終項  
* @param parent 旋轉(zhuǎn)樹的根的父節(jié)點  
* @return 旋轉(zhuǎn)樹的根節(jié)點
*/
private RedBlackNode<E> rotate(E item,RedBlackNode<E> parent){
if(compare(item,parent)<0){
parent.left = compare(item,parent.left)<0?
rotateWithLeftChild(parent.left):rotateWithRightChild(parent.left);
       parent.left.parent = parent;
       return parent.left;
   }
else{
parent.right = compare(item,parent.right)<0?
rotateWithLeftChild(parent.right):
rotateWithRightChild(parent.right);
       parent.right.parent = parent;
       return parent.right;
   }
}
//以左孩子為支點旋轉(zhuǎn),即我們所說的右旋(形象理解
//為以支點為中心向右旋轉(zhuǎn)),
t1為旋轉(zhuǎn)樹的根.返回新根  
private RedBlackNode<E> rotateWithLeftChild(RedBlackNode t1){

RedBlackNode<E> t2 = t1.left;//得到左孩子  
   t1.left = t2.right;//將左孩子的右子樹作為原根的左子樹  
   t2.right = t1;//此時t2作為新根  
   t1.parent = t2;
   t2.left.parent = t2;
   t1.left.parent = t1;
   t1.right.parent = t1;
   return t2;
}
//以右孩子為支點旋轉(zhuǎn),即左旋  
private RedBlackNode<E> rotateWithRightChild(RedBlackNode t1){
RedBlackNode<E> t2 = t1.right;
   t1.right = t2.left;
   t2.left = t1;
   t1.parent = t2;
   t2.right.parent = t2;
   t1.left.parent = t1;
   t1.right.parent = t1;
   return t2;
}
紅黑樹的刪除

1三種情況

紅黑樹的刪除相對復雜些,但只要我們思路明確,問題就迎刃而解。我們先回憶普通二叉樹的刪除操作,可分為三種情況:

1.沒有孩子節(jié)點:直接刪掉該節(jié)點

2.只有一個孩子節(jié)點:將要刪除節(jié)點的父節(jié)點直接與該孩子節(jié)點相鏈

3.有兩個孩子節(jié)點:將中序遍歷的后繼,即待刪除節(jié)點的右子樹中的最小節(jié)點賦給待刪除節(jié)點,然后將該后繼刪掉。實際最終都會歸于1、2兩種情況。


2三個問題

        對于紅黑樹來說,我們不僅要滿足二叉樹的性質(zhì),而且要滿足著色要求,所以討論的情況會比較多,我們從簡單的情況開始討論。如果待刪除的實際節(jié)點是紅色的,我們可以用普通方法進行刪除,因為刪除過后樹依然滿足紅黑樹的性質(zhì)。如果待刪除的實際節(jié)點是黑色的,就會出現(xiàn)三個問題:

1.如果刪除的節(jié)點是根節(jié)點,而他的紅色孩子成了根節(jié)點,這就違反了規(guī)則2

2.如果刪除的節(jié)點的父節(jié)點是紅色的,而該節(jié)點的孩子也是紅色的,刪除之后就會違反“規(guī)則4”。

3.刪除了一個黑色節(jié)點后,包含該節(jié)點的任何路徑黑色節(jié)點數(shù)都會少1,從而違反了“規(guī)則5”,我們的任務就是把這些問題解決。


3解決思路

百花齊放:

        首先,我們解決問題的總體思路很簡單:將節(jié)點刪除,然后通過旋轉(zhuǎn)和適當?shù)闹珌硇迯蜆涫怪匦聺M足紅黑樹的性質(zhì)。我們的入手點就是我們之后所說的當前節(jié)點。我們知道實際刪除的節(jié)點要么只有一個孩子,要么沒有孩子,如果該刪除節(jié)點有一個孩子,則將這個孩子作為當前節(jié)點,如果沒有孩子,則將nullNode節(jié)點作為當前節(jié)點。當前節(jié)點的父節(jié)點就是原刪除節(jié)點的父節(jié)點。我們第一次調(diào)整樹就是從上邊描述的當前節(jié)點x開始。(要記住第一個當前節(jié)點,要不然后邊的描述會變得含糊不清)。

       對于問題1我們很好解決,最后再把根節(jié)點涂黑即可。而對于問題2,我們可以把當前節(jié)點涂黑就可以讓樹滿足紅黑樹的性質(zhì)?,F(xiàn)在我們需要關(guān)注的問題是問題3,即讓刪除節(jié)點后的樹依然滿足紅黑樹的性質(zhì)5——各個節(jié)點到根節(jié)點到葉節(jié)點nullNode所包含的的黑節(jié)點數(shù)相同。

       現(xiàn)在你有什么思路呢?如果像先前我們執(zhí)行插入的思路那樣,自頂向下,保證刪除的節(jié)點是紅色的,這看起來是可行的,但要怎么處理呢?要處理的情況是不是太多了?我們可不可以加上一些條件限制來減少對情況的處理,比如左節(jié)點不能是紅色的?

要點核心:

      這里的處理的思路是:既然刪除節(jié)點后經(jīng)過該節(jié)點的路徑上黑色節(jié)點都少一個,我們可不可以將這黑色下推到他的子節(jié)點,這樣子節(jié)點就有了兩重顏色。這樣就可以滿足性質(zhì)5了。而又違反了性質(zhì)1,即節(jié)點要么是紅色的要么是黑色的。我們要做的在保持性質(zhì)的情況下去掉。(實際上這一層黑色是我們處理問題所轉(zhuǎn)換的標記,并非節(jié)點的顏色屬性,當前節(jié)點指向誰,誰就有了這一層黑色,最終我們在保證基本性質(zhì)的情況下去掉這一層黑色的影響,問題解決)要想去掉這一層黑色,我們處理的方式有:

1.將這層黑色推向一個包含刪除節(jié)點路徑上的一個紅色節(jié)點,在滿足其他性質(zhì)的情況下將其染成黑色。

2.一直推至根節(jié)點,減掉這層黑色。(因為我們每次的調(diào)整最后都是滿足性質(zhì)的)

3.在某些情況下,通過調(diào)整和重新著色,我們就可以保住性質(zhì),當然這一點有點難以憑空想象,那就看看下邊的情況分析吧。

具體操作:

      首先我們可以將情況分為兩類,即當前節(jié)點是其父節(jié)點的右節(jié)點或左節(jié)點,他們是對稱的,只需要對一種情況進行詳細討論,另一種情況也就是以此類推了。一般的資料都是對當前節(jié)點x是做節(jié)點的情況進行分析,在這里我們就先對x是右節(jié)點的情況一一畫圖進行分析。這里先對圖中的標記進行解釋:x表示當前節(jié)點,w表示當前節(jié)點的,p表示x的父節(jié)點,c表示某個確定的顏色(可能是紅,也可能是黑,就看實際情況了)對應于邏輯中的存在,c'表示任意顏色(才不管你是什么顏色咧,對討論無影響)對應于邏輯中的任意。

情況1

當前節(jié)點x的兄弟w是紅色的。這種情況我們可以確定x的父節(jié)點為黑色,w的兩個孩子為黑。如圖所示,我們先對p染紅,再將w染黑,然后對p進行一次右旋,紅黑性質(zhì)得以保持。而這時新的兄弟節(jié)點是黑色的,進而可以將情況一轉(zhuǎn)換成情況23、4中的一種。

情況2

當前節(jié)點x的兄弟節(jié)點w是黑色的,且w的兩個孩子都是黑色的。這種情況我們無法確定父節(jié)點p的顏色,所以其顏色標記為c,情況3、4同。在這個情況下,我們可以將x、w同時去掉一層黑色,將這一層黑色指向根節(jié)點p,p變成新的當前節(jié)點x。此時如果該標記顏色c為紅色,則可以將節(jié)點染成黑色,此時指針x的那一層黑色被去掉,同時紅黑性質(zhì)得到滿足,調(diào)整完畢;如果c為黑色,則需要對新的當前節(jié)點x的情況進行處理,直到調(diào)整完畢。

情況3

當前節(jié)點x的兄弟節(jié)點為黑色,且w的左孩子是黑色,右孩子是紅色的。在這種情況下,我們將w和其右孩子的顏色交換,并對w進行左轉(zhuǎn),紅黑性質(zhì)得以保持。此時已將情況3轉(zhuǎn)換成情況4。

情況4

當前節(jié)點x的兄弟節(jié)點w為黑色,且w的左孩子是紅的,有孩子可以為任意顏色。將p的顏色賦給w,然后將p,和w的左節(jié)點染黑,并對p做右旋轉(zhuǎn)。這是可以去掉x的額外的黑色,而且可以保持紅黑性質(zhì)。最后將樹的根賦給x后,調(diào)整結(jié)束。

我們發(fā)現(xiàn),情況13、4最多經(jīng)過三次旋轉(zhuǎn)調(diào)整就可以結(jié)束。情況二在最壞的情況下一直向上推最多也是樹的層數(shù)log(n),這就是紅黑樹刪除操作的性能優(yōu)勢。

4Java代碼實現(xiàn)

/**
* 1.沒有孩子節(jié)點:直接刪掉該節(jié)點
* 2.只有一個孩子節(jié)點:將要刪除節(jié)點的
     父節(jié)點直接與該孩子節(jié)點相鏈
* 3.有兩個孩子節(jié)點:將中序遍歷的后繼,即待刪除節(jié)點的右
    子樹中的最小節(jié)點賦給待刪除節(jié)點,然后將該后繼刪掉。
* @param e 要刪除的元素
* @param t 刪除元素的樹的根節(jié)點
* @return  被刪除的節(jié)點
*/
private RedBlackNode<E> remove(E e,RedBlackNode<E> t){
if(t==nullNode)
return null;
   //找到要刪除的節(jié)點  
   while(compare(e,t)!=0){
if(compare(e,t)<0&&t.left!=nullNode)
t = t.left;
       else if(compare(e,t)>0&&t.right!=nullNode)
t = t.right;
       else
           return null;
   }
RedBlackNode<E> x;//當前節(jié)點  
   RedBlackNode<E> y;//要刪除的節(jié)點  
   //如果待刪除節(jié)點只有一個孩子或沒有孩子,則實際刪除的節(jié)點
     //就是所指節(jié)點,如果有兩個孩子則實際刪除節(jié)點是右子樹的最小項  
   //先確定刪除節(jié)點  
   if(t.left==nullNode||t.right==nullNode)
y = t;
   else
       y = findMin(t.right);
    //再確定當前節(jié)點,如果實際刪除節(jié)點的左節(jié)點不為nullNode,
     //則當前節(jié)點為左節(jié)點,如果刪除節(jié)點只有右節(jié)點或沒有孩子  
   //我們都將右孩子賦給他,因為沒有孩子時右節(jié)點為nullNode  
   if(y.left!=nullNode)
x = y.left;
   else
       x = y.right;
   //當前節(jié)點的父親指向刪除節(jié)點的父親  
   x.parent = y.parent;
   //我們根據(jù)刪除節(jié)點在其父節(jié)點的子樹方向,將父節(jié)點直接鏈接到當前節(jié)點  
  //需要注意的是我們引用的偽根節(jié)點就是為了減少對特殊情況的討論,
   //不然有這行代碼
if(y.parent==header)header.right = x;  
   if(y==y.parent.left)
y.parent.left = x;
   else
       y.parent.right = x;
   //如果實際刪除的節(jié)點不是我們找到的具有該鍵的節(jié)點,它屬于有兩個
    //孩子的情況,我們將實際刪除的節(jié)點的值賦給它  
   if(y!=t)
t.element = y.element;
   if(y.color==BLACK)
removeFixUp(x);
   return y;
}

/**
* 刪除修復方法
* @param x 當前節(jié)點
*/
private void removeFixUp(RedBlackNode<E> x){
RedBlackNode<E> w;
   while(x!=header.right&&x.color==BLACK){
//當前節(jié)點是父節(jié)點的左節(jié)點  
   if(x==x.parent.left){
w = x.parent.right;
         //case1,如上詳細分析,如果x的兄弟節(jié)點為紅色,
         //調(diào)整后是兄弟節(jié)點為黑后再往下走  
      if(w.color==RED){
x.parent.color = RED;
         w.color = BLACK;
         rightRotate(x.parent,x.parent.parent);
         w = x.parent.right;
      }
//case2,新的x如果為紅色,循環(huán)終止,否則繼續(xù)循環(huán)  
   if(w.left.color==BLACK&&w.right.color==BLACK){
w.color = RED;
          x = x.parent;
      }else {
//case3,兄弟節(jié)點的右孩子是黑色的,
         //左孩子時紅色的,調(diào)整后進入
case4  
      if(w.right.color==BLACK){
w.left.color = BLACK;
          w.color = RED;
          rightRotate(w, w.parent);
          w = x.parent.right;
      }
//case4,調(diào)整完成,滿足紅黑性質(zhì)  
          w.color = x.parent.color;
          x.parent.color = BLACK;
          w.right.color = BLACK;
     leftRotate(x.parent, x.parent.parent);
          x = header.right;
       }
}else{
//對稱  
       }
x.color = BLACK;
   }
}


下載1:OpenCV-Contrib擴展模塊中文版教程
在「小白學視覺」公眾號后臺回復:擴展模塊中文教程即可下載全網(wǎng)第一份OpenCV擴展模塊教程中文版,涵蓋擴展模塊安裝、SFM算法、立體視覺、目標跟蹤、生物視覺、超分辨率處理等二十多章內(nèi)容。

下載2:Python視覺實戰(zhàn)項目52講
小白學視覺公眾號后臺回復:Python視覺實戰(zhàn)項目即可下載包括圖像分割、口罩檢測、車道線檢測、車輛計數(shù)、添加眼線、車牌識別、字符識別、情緒檢測、文本內(nèi)容提取、面部識別等31個視覺實戰(zhàn)項目,助力快速學校計算機視覺。

下載3:OpenCV實戰(zhàn)項目20講
小白學視覺公眾號后臺回復:OpenCV實戰(zhàn)項目20講即可下載含有20個基于OpenCV實現(xiàn)20個實戰(zhàn)項目,實現(xiàn)OpenCV學習進階。

交流群


歡迎加入公眾號讀者群一起和同行交流,目前有SLAM、三維視覺、傳感器、自動駕駛、計算攝影、檢測、分割、識別、醫(yī)學影像、GAN、算法競賽等微信群(以后會逐漸細分),請掃描下面微信號加群,備注:”昵稱+學校/公司+研究方向“,例如:”張三 + 上海交大 + 視覺SLAM“。請按照格式備注,否則不予通過。添加成功后會根據(jù)研究方向邀請進入相關(guān)微信群。請勿在群內(nèi)發(fā)送廣告,否則會請出群,謝謝理解~


瀏覽 47
點贊
評論
收藏
分享

手機掃一掃分享

分享
舉報
評論
圖片
表情
推薦
點贊
評論
收藏
分享

手機掃一掃分享

分享
舉報

感谢您访问我们的网站,您可能还对以下资源感兴趣:

国产秋霞理论久久久电影-婷婷色九月综合激情丁香-欧美在线观看乱妇视频-精品国avA久久久久久久-国产乱码精品一区二区三区亚洲人-欧美熟妇一区二区三区蜜桃视频 九九热在线视频| 国产乱国产乱老熟300部视频| 国产口爆在线观看| 在线观看三级| 五月激情黄色| 伊人免费| 亚洲中文字幕免费| 日本久久综合| 艹逼网站| 婷婷五月六月| 色射影院| 日韩在线观看| 无码AV在线播放| 日批免费视频| 国产肏屄| 日韩国产免费| 国产福利免费视频| 欧美熟女性爱| www.天天干| 最近中文字幕免费MV第一季歌词怀孕 | 男女啪啪免费| 国产精品免费看| 欧美日日干| 婷婷五月天激情电影| 西西444WWW无码视频软件功能介绍 | 黄色成人视频网站在线观看 | 国产av影视| 毛多水多丰满女人A片| 中文字幕aV在线| 老妇槡BBBB| 日韩色妇| 国产精品AV网站| 无码高清在线| 农村A片婬片AAA毛片| 操b视频在线观看| 欧美操BB| 中文字幕黄色片| 逼逼AV| 国产人妖av| 精品免费囯产| 欧美三级网站| 亚洲一区二区视频| 欧美性爱视频免费看| av资源免费观看| 精品人妻二区三区蜜桃| 91综合久久| 你懂得在线视频| 东北骚妇大战黑人视频| 中文原创麻豆传媒md0052| 国产45页| 亚洲不卡| 在线看A片| 成人操B视频| 亚洲成人免费网站| 久久久久免费| 韩日中文字幕| 先锋资源在线视频| 日本电影一区二区| 中文字幕第23页| 久操免费在线观看| 99r6热只有精品免费观看| 在线成人视频网站大香蕉在线网站 | 亚洲无码免费播放| 人人超碰在线| 黑人毛片91久久久久久| 黄色小视频免费| 免费黄片视频大全| 中文字幕五月久久婷婷| 性爱精品视频| 亚洲国产熟妇综合色专区| 一区二区三区无码视频| 五月激情视频| 黄色无码网站| 五月综合色| 91人妻人人爽人人爽| 一道本av| 爆操人妻| 亚洲成人AV在线观看| www男人天堂| 四虎成人免费视频| 婷婷激情av| 91人妻人人澡人人爽人人爽| 国产足交视频| 国内自拍视频网| 在线观看亚洲中文字幕| 啊v视频在线| 高清无码视频免费看| 91日韩视频在线| 西西午夜视频| 最新中文字幕无码| 国产成人电影一区二区| 精品国产AV鲁一鲁一区| 国产夫妻av| 在线观看中文字幕视频| 国产精品国内自产| 国产特黄级AAAAA片免| 小早川怜子精品一区二区| 日本一级理论片在线大全| 性爱精品视频| 欧美成人社区| 波多野结衣vs黑人巨大| 久久久999精品视频| 中文字幕日日| 久久久18禁一区二区三区精品 | 狠狠撸天天操| 中文字幕人妻丝袜二区电影| 黄色生活片| 日韩国产免费| 欧美性猛交XXXXⅩXX| 久久一二三| 中文字幕36页| 五月天婷婷成人| 国产成人网站免费观看| 成人免费看A片| 69国产精品无码免费| 无码欧美成人AAAA三区在线| 日本aa视频| 日韩激情一区| 想要xx在线观看| 成人高清无码在线观看| 嫩BBB槡BBBB槡BBBB视频-百度| 亚洲黄色视频免费看| 色爽av| 亚洲av免费看| 夜夜骑夜夜| 美女自慰网站在线观看| 国产porn| 日毛片| 安徽妇女BBBWBBBwm| 欧美精产国品一二三产品在哪买| 青草福利| 电影豹妹香港版| 91大长腿美女花外围在线观看 | 丰满人妻一区二区三区精品高 | 黄片无码免费观看| 亚洲黄片免费在线观看| 性无码一区二区| jjzz亚洲| 国产精品成人无码免费| 黄色小电影在线观看| 奇米影视亚洲春色| 日韩视频免费观看高清完整版在线观 | 天堂俺去俺来也www久久婷婷| 亚洲视频a| 欧美特黄AAAAAAAAA片| 无码AV大香线蕉伊人| 青青操B| 在线观看污视频| 成人在线免费| 爆乳一区二区三区AV| 国产粉嫩小泬白浆18p| 五月婷婷狠狠爱| 无码激情18激情视频| AAA片视频| 宅男噜噜噜66一区二区| 日韩欧美中文字幕在线视频| 中文字幕在线网| 精品乱子伦一区二区三区免费播放 | 蜜桃视频一区二区三区| 成人做爰100部片视频| 五月丁香视频在线| 三须三级久久三级久久18| 动漫无码视频| 亚洲人成人无码一区二区三区| 亚洲精品秘一区二区三小| 特逼视频| 亚洲无码AV电影| h片在线播放| 成人区123| 欧美偷拍一区二区| 色综合99久久久无码国产精品 | 成人性爱视频在线| 欧美成人一级片| 亚洲成人视频在线免费观看| AV黄色在线观看| 中文字幕欧美在线| 甘肃WBBBB搡wBBBB| 日韩无码黄色片| 99精品9| 黄片欧美| 日韩成人精品在线| 国产在线中文字幕| 婷婷五月天久久| 免费无码婬片AAAAA片| 欧美一级三级| 无码二区三区| 久久久久久久网站| 特级西西人体大胆无码| 天天操天天操免费视频| 中文无码99| 2020无码| 高清无码免费不卡| 国产娇小13videos糟蹋| 久久波多野结衣| 中文字幕在线观看第一页| 久久日av| 91无码人妻东京热精品一区| 毛片在线免费| 国产无码在线看| www.婷婷五月天| 天天影视综合网免费观看电视剧国产 | 揉BBB搡BBB搡BBB| 久久国产免费视频| 久久伊人草| 性无码一区二区三区| 99久久精品国产毛片| 久久黄色视频免费看| 国产精品一区二区三区不卡| 精品成人久久| 黄色一级片网站| 成人A片视频| 久久午夜福利视频| 国产又爽又黄视频| 亚洲AV免费电影| 国产AV黄色| 乱伦五月天| 日本免费福利视频| 大香蕉综合在线观看| 久久综合伊人777777| 久久亚洲AV| 精品久| 五月婷婷中文版| 好吊妞视频在线| 国产娇小13videos糟蹋| 无码网| 激情视频免费看| 日韩av免费在线| 精品国产久| 在线观看黄色电影| 中文字幕一区二区蜜桃| 国产黄片在线播放| 欧美成人精品欧美一级| 免费看黃色AAAAAA片| 人妻被午夜福利AV| 99天堂网| 婷婷综合素质二区| 色诱av| A一级黄色| 日韩欧美高清无码| 免费看黄色一级片| 亚洲中文字| 啪啪人妻| 欧美乱伦内射| 国产插逼视频| 人人精品| 精品成人无码一区二区三区| 亚洲欧美日韩另类| 三级成人无码| 中文字幕在线观看辣文| 99色国产| 大地99中文在线观看| 久久性爱网站| 国产精品久久久久的角色| 免费成人在线看片黄| 国产成人无码区亚洲A片356p| 国产成人久久| 国产一区二区三区四区五区六区七区 | 97人人爽人人爽人人爽人人爽 | 成人日韩无码| AV无码不卡| 亚洲AV无码久久寂寞少妇多毛| 91精品久久久久久粉嫩| 成人在线网站| 欧美一区二区三区系列电影| 亚洲高清无码免费观看| 91精品福利| 色哟哟一区二区三区四区| 天天日,天天干,天天操| 国产AV一区二区三区四区| 欧美成人精品无| 丰满人妻一区二区三区四区不卡 | 黄色片网站| 无码成人网| 欧美大香蕉伊人| 欧美性猛交XXXX乱大交3| 国产操女人| 97精品人妻一区二区三区香蕉 | 亚洲欧美激情小说| 人人操超碰| 黄色电影地址| 色婷婷综合激情| 六月婷| 啪啪网站免费看| 91免费高清视频| 亚洲综合无码| 国产成人片在线观看| 97精品国产97久久久久久免费| 中文字幕在线观看第一页| 日韩av综合| 亚洲精品久久久久久久久豆丁网 | 丁香五月欧美| 91色色影院| 国产精品成人在线观看| 国产精品美女| 在线观看av资源| 懂色av粉嫩av蜜臀av| 欧美曰皮免费看| 亚洲精品观看| 亚洲一级在线观看| 国产久久精品视频| 大香蕉1024| 狼友视频在线观看18| 在线播放a| 国产日韩欧美综合在线| 猫咪视频大全视频| 亚洲精品一级| jizz在线免费观看| 四川少妇搡BBw搡BBBB搡| 操逼福利视频| 黄色日逼视频| 色色网站在线观看| a网站在线观看| 免费的一级A片| 国产36页| 中文字幕成人电影| 日韩毛片一区二区| 欧美成人黄色| 午夜影院操| 亚洲国产久久| 波多野结衣视频在线播放| 亚洲在线一区二区| 制服丝袜强奸乱伦| 女人一区二区| 操逼com| 殴美色色网| 仓井空一区| 日本黄色免费| 国产熟女自拍| 97人妻视频| 欧美一级特黄AAAAAA片在线视频| 国产又爽又黄免费网站在线| 中文字幕操逼网站| 国产午夜激情视频| 99精品久久| 中文字幕AV在线免费观看| 五月天国产精品| 爱爱高清视频| 亚洲狼人天堂| 欧美又粗又大AAA片| av资源在线看| 久久久久久久| 青青操成人在线视频| 伊人网址| 翔田千里中文字幕无码| 国产美女自慰网站| 青娱乐一级无码| 久久青青视频| 五月丁香婷婷激情综合| 无码人妻精品一区二区三区99仓 | 日本一区二区在线视频| 精品国产乱码久久久久久郑州公司| 亚洲欧美日韩在线| 97人妻人人揉人人躁人人| 五月播播| 国产无套免费网站69| 日本一级片在线播放| 国内久久婷婷| 四川美女网久草| 无码专区中文字幕| 亚洲777| 97人妻人人澡人人爽人人| 亚洲日韩精品中文字幕| 欧美日韩一区在线观看| 蜜柚AV| 人人摸人人看人人草| 国产一区无码| 国精产品一区一区三区有限公司杨 | 少妇白洁在线观看| 亚洲va欧美va天堂v国产综合| 欧美激情综合网| 九九九九九九国产| 日韩AV一级片| 亚洲午夜精品久久久久久APP| 69色综合| 国产激情123区| 国产精品欧美精品| 亚洲插逼视频| 中文字幕免费高清在线观看| 伊人666| 国产区精品| 99热青青| 久久理伦| 男女91视频| 大香蕉手机视频| 人妻黑人一区二区三区| 亚洲国产成人精品女人| 日韩久久高清| 一级操逼视频| 青娱乐Av| 欧美草比| 巜痴漢電車~凌脔版2| 五月婷婷狠狠爱| 91人妻在线视频| 看免费黄色录像| 成人做爰黄A片免费看直播室动漫| 成年片免费观看网站免费观看,亚洲+欧...| 大香蕉999| 99热激情在线| 成人精品在线观看| 大香蕉国产在线视频| 91性爱视频| 精品无码一区二区三区免费| 国产91一区在线精品| 欧美成人视屏| 日本午夜影院| 91最新网址| 伊人精品| 高清无码免费在线观看| h亚洲| 成人免费毛片果冻日本| 你懂的在线网站| 9l蝌蚪PORNY中文| 欧美性爱在线视频| 成人污污视频| 国产A片| 伊人久久香| www国产| 日韩高清毛片| 国产一级网站| 成人网站在线观看免费| 91精品人妻少妇无码影院| 亚洲AV无码一区毛片AV| 中文字幕黄色电影| 免费无码国产在线| 日韩视频第一页| 欧美性猛交XXXX乱大交HD| 女孩自慰在线观看| 成人精品久久| A色片| 精品欧美无人区乱码毛片| 五月天久久久久| 成人三级AV在线| 中国黄色大片| 欧美成人综合色| 毛片一区二区| 成人午夜福利高清视频| 亚洲一二期视频| 国产黄色视频免费观看| 国产激情无码免费| 97人妻| 亚洲日韩免费观看| 亚洲操逼图片| 97久久97欧美精品A片| 大香蕉AV在线观看| 日韩aaaa| 97精品综合久久| 国内精品久久久久久久久久变脸 | 成人黄网站在线观看| 久久思思热| 夜夜夜叫天天天做| 五月婷婷黄色| 日韩精品成人电影| 久久er99| 欧美aaaaaa| 亚洲色图在线视频| 国内不卡一卡二视频| 成人国产欧美日韩在线视频| 欧美性爱视频在线观看| 少妇做爱特级AAA| 中文字幕无码视频| 欧美精品人妻| 亚洲免费观看高清完| 国产精品在线观看| 91无码在线视频| 国产综合无码| 中文字幕国产| 第一福利成人AV导航| 久久久久久久久久久久高清毛片一级 | 悠悠色影院| 精品成人久久| 国产成人午夜福利视频| 91无码在线观看| 黄色电影视频网站| 少妇AAA级久久久无码精品片| 91久色| 成人在线A片| 午夜xxx| 无码网址| 国产黄色免费乱伦片| 在线视频A| 99性视频| 大香蕉日逼| A级片免费| 成人亚洲天堂| 欧美三区| 亚洲图片小说区| 青青草视频91| www.a日逼| 人人澡人人干| 国产无码三级| 日本一级片中文字幕| 久久久999| 久久精品99久久久久久| 人人操狠狠操| 国产欧美高清在线| 无码A区| 超碰在线人人| 一区二区国产视频| 大香蕉欧美| 肉乳无码A片av| 东方av在线播放| av天天av无码av天天爽| 日本成人电影| 日韩AV片| 亚洲精品秘一区二区三区影| 秋霞亚洲| 超碰免费在线观看| 成人av中文字幕| 亚洲精品成人AV| 国产精品无码永久免费A片| 免费一二区| 四川少妇BBBB| 亚洲高清无码视频大全| 麻豆91网站| 人人妻人人澡人人爽人人欧美一区 | 大香蕉伊人在线手机网| 日本黄色视频在线播放| 一区二区三区四区精品视频| 熟女人妻在线视频| 三级片青青草| 中文字幕人妻日韩在线| 精品色| 中文亚洲视频| 成人在线观看无码| 毛片国产| 五月深爱| 尤物网站在线播放| 欧美日韩在线观看一区二区三区| 68久久久| 国产又粗又长的视频| 69国产在线| 亚洲一区二区免费视频| 热无码av| 人妻无码中文字幕免费视频蜜桃| 日韩精品中文字幕无码| 日韩五码在线| 制服.丝袜.亚洲.中文.豆花| 妓女不卡| 久久人妻熟女中文字幕av蜜芽| 五月丁香999| 欧美精品乱码99久久蜜桃| 性欧美丰满熟妇XXXX性久久久| 欧美精品在线观看| 69黄色视频| 日日日操| 久操网在线| 91视频美女| 亚洲综合一二三区| 日韩无码国产精品| 99九九久久| 99精品全国免费观看| 97视频网站| 黄色性视频| 99热免费| 99re久久| 人人上人人干| 超碰在线人人| 噜噜色小说| 人妻北条麻妃在线| 蜜臀AⅤ在线| 99热网站| 亚洲视频中文字幕| 中国黄色学生妹一级片| 色婷婷老师| 视频國产在线| 亚洲性生活| 青娱乐青青草| 人人射人人操| 怡红院欧美| 日本成人A片| 精品日韩中文字幕| 免费观看日韩无码视频| 天天都色| www.俺去也| 丁香五月婷婷综合| A国产| 中文字幕高清| 日韩精品中文无码| 五月天国产视频| 欧美激情DVD| 久操影视| 欧美激情综合色综合啪啪五月| 国内免费AV| 五月丁香婷婷激情| 日韩色逼| 黄色视频大全在线观看| 日韩无码人妻系列| 亚洲日本三级片| 99热超碰| 色哟哟av| 欧美一级网| AV无码在线免费观看| 蜜臀av在线播放| 97人人爽人人爽人人爽人人爽 | 熟女老阿V8888AV| 国产A片大全| 国产精品欧美日韩| 亚洲国产成人精品激情在线| 黄色大片久草| 2025精品偷拍视频| 91亚洲成人| 中文字幕第6页| 在线看国产| 东方AV在线免费观看| 内射熟妇| 精品伊人久久| 高清不卡一区二区| 中文字幕成人在线播放| 手机在线成人视频| 日韩一级一片| 天堂a中文在线| 欧美丰满人妻免费视频人| 男女日比视频| 日韩精品中文字幕无码| 久草热视频| 日韩视频中文| 一区二区三区四区五区| 骚逼www| 一本之道DVD不卡视频| 色五月天导航| 69堂在线观看| 成人国产片女人爽到高潮| 天堂在线社区| 91人人操| 伊人激情网| 国产精品色哟哟| 成人无码一区二区| 操屄视频在线观看| 日韩中文欧美| 肉乳无码A片av| 人妻成人网| 91在线无码精品秘入口国战| 1024在线| 一二三四区视频| 亚洲成人二区| 综合激情AV| 一区二区三区无码区| 亚洲中文字幕有码| 日韩中文字幕国产| 天天视频入口| 日日摸日日添日日躁AV| 日本成人不卡| 免费欧美黄片| 中文字幕精品一区久久久久| 亚洲性爱一区二区三区| 天天撸免费视频| 青操AV| brazzers疯狂作爱| 一级黄色电影A片| 男女操逼视频网站免费观看| 91在线视频| 无码三级| 伊人成人在线| 免费一级黄色片| 免费一级A片在线观看视频| 国产中文字幕在线| 一级AV片| 水蜜桃一区二区| 欧美操逼逼| 大香蕉亚洲| 在线视频a| 中文人妻第9页| 苍井空无码| 足浴小少妇-88AX| 91中文字幕在线| 大香蕉在线电影| 无码人妻一区二区三区| 少妇大战28厘米黑人| 69av在线播放| 91人人爽| 亚洲av免费| 欧美成人黄色电影| 欧美肏屄视频| 无码网址| 亚洲精品乱码久久久久久按摩观 | 人成在线观看| 亚洲av网站在线观看| 男人插女人网站| 翔田千里无码AV在线观看| 日韩欧美一区二区在线观看 | 在线观看av网站中文字幕| 黄色无無| 自拍偷拍免费| 亚洲一区二区网站| 国产精品一级二级三级| 噜噜噜网| 国产黄色视频在线播放| 欧美草比视频| 97人妻人人| 亚洲黄色在线观看视频| 国产99页| 久久er99| 亚洲成人免费观看| 欧美成人在线视频网站| 无码一区二区三区四区五区六区 | 午夜免费视频| 99偷拍| 日本成人视频在线免费播放| www.操操网| 精品福利一区二区三区| 91香蕉国产成人App| 色丁香在线| 内射一区二区三区| 国产久久性爱| 刘玥精品国产一区二区三区| 蝌蚪窝久久| 国产无套内射视频| 久草中文网| 激情小说激情视频| 亚洲第一天堂| 伊人亚洲| 人人摸人人看| 99久久爱re热6在播放| 国产精品一级二级三级| 16一17女人毛片| 99re这里只有精品6| 午夜乱伦福利| 日韩无码高清一区| 久久免费国产视频| 日韩欧美毛片| 狠狠狠狠操| 中文字幕AV在线播放| 国产一级片| 色婷婷视屏| 亚洲欧洲自拍| 日韩视频中文字幕在线| 欧美亚洲成人在线观看| 精品无码视频在线观看| 偷拍欧美日韩| 自拍偷拍欧美| 在线无码免费观看| 久热免费视频| 青青操国产乱伦| 豆花视频成人网站入口| 国产剧情一区二区| 国产亲子乱婬一级A片借种| 蝌蚪窝免费视频| 亚洲av动漫| 欧美性爱福利| 91Av视频| 成人在线免费观看国产| 欧美日本一区二区三区| 黄色视频A片| 91热爆TS人妖系列| 精品无码视频在线观看| 青娱乐AV在线| AV天堂亚洲| 久色视频| 91精品国产闺蜜国产在线闺蜜| 五月丁香激情四射| 性色在线| 41ts午夜福利| 免费乱伦视频| 91久久国产| 国产视频一区二区三区四区| 国产麻豆精品ThePorn| 蜜臀久久99精品久久久久久宅男| 91久久午夜无码鲁丝片久久人妻| 蜜桃视频在线观看视频| 久久九九国产| 国产女18毛片多18精品| 91熟女丰满原味| 无码日韩成人| 天天艹av| 亚洲AV永久无码成人| 国产黄色免费观看| 伊人婷婷| 国产系列每日更新| 亚洲影院第一页| 国产久久性爱| 人人色人人操人人干| 黄色大片免费观看| 婷婷综合视频| 一级操逼视频免费观看| 爱搞搞就要爱搞搞| 午夜激情久久| 蜜芽AV在线| 亚洲v视频| 小日本91在线观看| 国产精品99久久免费黑人人妻| 日日夜夜精选视频| 狠狠色色| 国产2区| 日本精品一区二区| 99er这里只有精品| 伊人精品| 3d动漫精品H区XXXXX区| 在线永久看片免费的视频| 日韩无码不卡| 天天日天天爱| 91久久久青青青青草| 国产精品77777| 人人爽人人干| 亚洲精品一区无码A片丁香花| 天天拍夜夜爽| 草逼动态图| 狠狠色丁香| 免费亚洲婷婷| 日屄视频免费看| 国产淫荡视频| 日韩欧美精品一区二区| 久久99精品视频| 成人电影aaa| 婷婷丁香五月网| 无码精品一区二区在线| 免费三级网站| 激情99| 国产午夜福利免费视频在线观看 | 国产91久久婷婷一区二区| 搡女人视频国产一级午夜片| 麻豆mdapp01.tⅴ| 俺去搞| 四虎成人精品永久免费AV九九| 免费黄色一级电影| 无码群交| 内射午夜福利在线免费观看视频 | 91站街农村熟女露脸| 91丨九色丨蝌蚪丨肥女| www.豆花社区成人| 永久免费无码中文字幕| 99久久精品国产一区色| 奶大丰满一乱一视频一区二区三区在 | 成人无码欧美大片免费看| 综合精品7799| 日本内射网站| h片在线播放| 精品人妻一区二区三区日产乱码 | 久久亚洲婷婷| 一区二区三区国产| 亚洲天堂久久久| 台湾精品无码| 日韩在线不卡视频| AV无码精品| 你懂得在线视频| 亚洲综合久| 免费黄色在线| 思思精品视频| 五月婷婷激情五月| 亚洲天堂无码在线观看| 国产黄色AV片| 中文字幕+乱码+中文乱码视频在线观看| 影音先锋av资源网站| 天天干天天操天天| 国产一级在线免费观看| 无码免费毛片一区二区三区古代| 中文字幕亚洲综合| 尹人香蕉久久| 日韩AV自拍| 亚洲成人网在线| 亚洲一区无码| 人人摸人人摸人人| 一级二级三级无码| 在线不卡| 亚洲超级高清无码第一在线视频观看| 熟女国产| 国产怡红院| 91色视频在线观看| 日韩一级免费在线观看| 中国老熟女重囗味HDXX| 无码任你躁久久久久| av一区在线观看| www| 漂亮人妻吃鸡啪啪哥哥真的好| 人人摸人人爱人人操| 在线精品福利| 色色网站| ww成人| 一区二区视频在线| 99这里都是精品| 亚洲无码av电影| 2025AV天堂网| 亚洲色无码人妻激情| 伊人久久五月| 日逼网站免费观看| 色秘乱码一区二区三区| 日韩毛片大全| 精品乱子伦一区二区三区免费播成| 国产欧美一区在线看| 日本国产在线视频| 中文字幕观看在线| 免费看日韩毛片| 亚洲精品观看| 人人摸人人射| 九九九九九九国产| 日韩免费小视频| 无码人妻一区二区一牛影视| 久久香蕉电影| 日韩AV无码专区亚洲AV| 欧美色图第一页| 午夜精品久久久久久久99热精东| 欧美亚洲日韩成人| 亚洲性爱在线| 美女国产精品| 精品视频久久久| 午夜福利av在线| 久久婷婷国产综合| 欧美成人小视频| 亚洲操操操操| 69AV在线播放| 人妻少妇偷人精品无码免费|