国产精品青草久-国产精品情侣愉拍-国产精品区网红主-国产精品区一区二-国产精品热久久-国产精品热热热-国产精品人aⅴ-国产精品人成在线-国产精品人妻人伦-国产精品人人

金喜正规买球

紅黑樹算法探索筆記

轉帖|行業資訊|編輯:郝浩|2016-08-24 13:57:20.000|閱讀 218 次

概述:本文總結了數據結構中紅黑樹算法的基礎知識,方便大家對基礎算法的理解和認識。

# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>

最近花了些時間重拾數據結構的基礎知識,先嘗試了紅黑樹,花了大半個月的時間研究其原理和實現,下面是學習到的知識和一些筆記的分享。望各位多多指教。本次代碼的實現請點擊:

紅黑樹基礎知識

定義

紅黑樹是帶有 color 屬性的二叉搜索樹,color 的值為紅色或黑色,因此叫做紅黑樹。

對紅黑樹的每個結點的結構體定義如下:

struct RBNode {
     int color;
     void *key;
     void *value;
     struct RBNode *left;
     struct RBNode *right;
     struct RBNode *parent;
};

設根結點的 parent 指針指向 NULL,新結點的左右孩子 left 和 right 指向 NULL。葉子結點是 NULL。

定義判斷紅黑樹顏色的宏為

#define ISRED(x) ((x) != NULL && (x)->color == RED)

因此,葉子結點 NULL 的顏色為非紅色,在紅黑樹中,它就是黑色,包括黑色的葉子結點。

黑高的定義,從某個結點 x 觸發(不含該結點)到達一個葉結點的任意一條簡單路徑上的黑色結點個數稱為該結點的黑高(black-height),記作 bh(x)。

紅黑樹的性質

  1. 每個節點不是紅色就是黑色;
  2. 根節點是黑色;
  3. 每個葉子節點是黑色;
  4. 如果節點是紅色,那么它的兩個孩子節點都是黑色的;
  5. 對每個節點來說,從節點到葉子節點的路徑包含相同數目的黑色節點。

下面是一個紅黑樹的例子

red-black-tree-demo

紅黑樹的旋轉

旋轉操作在樹的數據結構里面很經常出現,比如 AVL 樹,紅黑樹等等。很多人都了解旋轉的操作是怎么進行的(HOW),在網上能找到很多資料描述旋轉的步驟,但是卻沒有人告訴我為什么要進行旋轉(WHY)?為什么要這樣旋轉?通過與朋友交流,對于紅黑樹來說,之所以要旋轉是因為左右子樹的高度不平衡,即左子樹比右子樹高或者右子樹比左子樹高。那么,以左旋為例,通過左旋轉,就可以將左子樹的黑高 +1,同時右子樹的黑高 -1,從而恢復左右子樹黑高平衡。

rotate-demo

以右旋為例,α 和 β 為 x 的左右孩子,γ 為 y 的右孩子,因為 y 的左子樹比右子樹高度多一,因此以 y 為根的子樹左右高度不平衡,那么以 y-x 為軸左旋使其左右高度平衡,左旋之后 y 和 β 同時成為 x 的右孩子,然而因為要旋轉的是 x 和 y 結點,因此就讓 β 成為 y 的左孩子即可。

旋轉的算法復雜度:從圖示可知,旋轉的操作只是做了修改指針的操作,因此算法復雜度是 O(1)。

紅黑樹的算法復雜度分析

紅黑樹的所有操作的算法復雜度都是 O(lgn)。這是因為紅黑樹的最大高度是 2lg(n+1)。

證明如下:

設每個路徑的黑色節點的數量為 bh(x)`,要證明紅黑樹的最大高度是 2lg(n+1),首先證明任何子樹包含 2^bh(x) - 1 個內部節點。

下面使用數學歸納法證明。

當 bh(x) 等于 0 時,即有 0 個節點,那么子樹包含 2^0 - 1 = 0 個內部節點,得證。

對于其他節點,其黑高為 bh(x) 或 bh(x) - 1,當 x 是紅節點時,黑高為 bh(x),否則,為 bh(x) - 1。對于下一個節點,因為每個孩子節點都比父節點的高度低,因此歸納假設每個子節點至少有 2^bh(x)-1 - 1 個內部節點,因此,以 x 為根的子樹至少有 2^(bh(x)-1) - 1 + 2^(bh(x)-1) - 1 = 2^bh(x) - 1個內部節點。

設 h 是樹高,根據性質 4 可知道,每一條路徑至少有一半的節點是黑的,因此 bh(x) - 1 = h/2。

那么紅黑樹節點個數就為 n >= 2^h/2 - 1。

可得 n + 1 >= 2^h/2。兩邊取對數得:

    log(n+1) >= h/2

=>  2log(n+1) >= h

=>  h <= 2log(n+1)

由上面的證明可得,紅黑樹的高度最大值是 2log(n+1),因此紅黑樹查找的復雜度為 O(lgn)。對于紅黑樹的插入和刪除操作,算法復雜度也是 O(lgn),因此紅黑樹的所有操作都是 O(lgn)`的復雜度。

紅黑樹的插入操作分析

紅黑樹的插入操作,先找到要新節點插入的位置,將節點賦予紅色,然后插入新節點。最后做紅黑樹性質的修復。

新節點賦予紅色的原因

因為插入操作只可能會違反性質 2、4、5,對于性質 2,只需要直接將根節點變黑即可;那么需要處理的就有性質 4 和性質 5,如果插入的是黑節點,那么就會影響新節點所在子樹的黑高,這樣一來就會違反性質 5,如果新節點是紅色,那么新插入的節點就不會違反性質 5,只需要處理違反性質 2 或性質 4 的情況。即根節點為紅色或者存在兩個連續的紅節點。簡而言之,就是減少修復紅黑性質被破壞的情況。

插入算法偽代碼

RB-INSERT(T, node)
    walk = T.root
    prev = NULL
    while (walk != NULL)
        prev = walk
        if (node.key < walk.key)
            walk = walk.left
        else walk = walk.right
    node.parent = walk
    if (walk == NULL)
        T.root = node
    else if (node.key < walk.key)
        walk.left = node
    else walk.right = node
    RB-INSERT-FIXUP(T, node)

插入算法流程圖

red-black-tree-insert

插入的修復

插入之后,如果新結點(node)的父結點(parent)或者根節點(root)是紅色,那么就會違反了紅黑樹的性質 4 或性質 2。對于后者,只需要直接將 root 變黑即可。

而前者,違反了性質 4 的,即紅黑樹出現了連續兩個紅結點的情況。修復的變化還要看父結點是祖父結點的左孩子還是右孩子,左右兩種情況是對稱的,此處看父結點是祖父結點的左孩子的情況。要恢復紅黑樹的性質,那么就需要將 parent 的其中一個變黑,這樣的話,該結點所在的子樹的黑高 +1,這樣就會破壞了性質 5,違背了初衷。因此需要將 parent->parent(grandparent)的另一個結點(uncle 結點)的黑高也 +1 來維持紅黑樹的性質。

如果 uncle 是紅色,那么直接將 uncle 變為黑色,同時 parent 也變黑。但是這樣一來,以 grandparent 為根所在的子樹的黑高就 +1,因此將 grandparent 變紅使其黑高減一,然后將 node 指向 grandparent,讓修復結點上升兩個 level,直到遇到根結點為止。

如果 uncle 是黑色,那么就不能將 uncle 變黑了。那么只能將紅節點上升給祖父節點,即將祖父結點變紅,然后將父結點變黑,這樣一來,以父結點為根的子樹的左右子樹就不平衡了,此時左子樹比右子樹的黑高多 1,那么就需要通過將祖父結點右旋以調整左右平衡。

插入修復算法的偽代碼

RB-INSERT-FIXUP(T, node)
    while IS_RED(node)
        parent = node->parent
        if !IS_RED(parent) break
        grandparent = parent->parent
        if parent == grandparent.left
            uncle = grandparent.right
            if IS_RED(uncle)
                parent.color = BLACK
                uncle.color = BLACK
                grandparent.color = RED
                node = grandparent
            elseif node == parent.right
                LEFT_ROTATE(T, parent)
                swap(node, parent)
            else
                parent.color = BLACK
                grandparent.color = RED
                RIGHT_ROTATE(T, grandparent)
        else
            same as then clause with "right" and "left" exchanged
    
    T.root.color = BLACK

插入修復算法的流程圖

red-black-insert-fixup

插入的算法復雜度分析

插入的步驟主要有兩步

a. 找到新結點的插入位置 b. 進行插入修復。而插入修復包括旋轉和使修復結點上升。

對于 a,從上面可知,查找的算法復雜度是 O(lgn)。

對于 b,插入修復中,每一次修復結點上升 2 個 level,直到遇到根結點,走過的路徑最大值是樹的高度,算法復雜度是 O(lgn);由旋轉的描述可得其算法復雜度是 O(1),因此插入修復的算法復雜度是 O(lgn)。

綜上所述,插入的算法復雜度 O(INSERT) = O(lgn) + O(lgn) = O(lgn)。

紅黑樹的刪除操作分析

紅黑樹的刪除操作,先找到要刪除的結點,然后找到要刪除結點的后繼,用其后繼替換要刪除的結點的位置,最后再做紅黑樹性質的修復。

紅黑樹的刪除操作比插入操作更復雜一些。

要刪除一個結點(node),首先要找到該結點所在的位置,接著,判斷 node 的子樹情況。

  • 如果 node 只有一個子樹,那么將其后繼(successor)替換掉 node 即可;
  • 如果 node 有兩個子樹,那么就找到 node 的 successor 替換掉 node;
  • 如果 successor 是 node 的右孩子,那么直接將 successor 替換掉 node 即可,但是需要將 successor 的顏色變為 node 的顏色;
  • 如果 successor 不是 node 的右孩子,而因為 node 的后繼是沒有左孩子的(這個可以查看相關證明),所以刪除掉 node 的后繼 successor 之后,需要將 successor 的右孩子 successor.right 補上 successor 的位置。

刪除過程中需要保存 successor 的顏色 color,因為刪除操作可能會導致紅黑樹的性質被破壞,而刪除操作刪除的是 successor。因此,每一次改變 successor 的時候,都要更新 color。

刪除時用到的 TRANSPLANT 操作

TRANSPLANT(T, u, v) 是移植結點的操作,此函數的功能是使結點 v 替換結點 u 的位置。在刪除操作中用來將后繼結點替換到要刪除結點的位置。

刪除結點的后繼結點沒有左孩子證明

用 x 表示有非空左右孩子的結點。在樹的中序遍歷中,在 x 的左子樹的結點在 x 的前面,在 x 的右子樹的結點都在 x 的后面。因此,x 的前驅在其左子數,后繼在其右子樹。

假設 s 是 x 的后繼。那么 s 不能有左子樹,因為在中序遍歷中,s 的左子樹會在 x 和 s 的中間。(在 x 的后面是因為其在 x 的右子樹中,在 s 的前面是因為其在 x 的左子樹中。)在中序遍歷中,與前面的假設一樣,如果任何結點在 x 和 s 之間,那么該結點就不是 x 的后繼。

刪除算法偽代碼

RB-DELETE(T, node)
    color = node.color
    walk_node = node
    if IS_NULL(node.left)
        need_fixup_node = node.right
        transplant(T, node, need_fixup_node)
    elseif IS_NULL(node.right)
        need_fixup_node = node.left
        transplant(T, node, need_fixup_node)
    else
        walk_node = minimum(node.right)
        color = walk_node.color
        need_fixup_node = walk_node.right
        if walk_node.parent != node
            transplant(T, walk_node, walk_node.right)
            walk_node.right = node.right
            walk_node.right.parent = walk_node
        transplant(T, node, walk_node)
        walk_node.left = node.left
        walk_node.left.parent = walk_node
        walk_node.color = node.color
    
    if color == BLACK
        RB-DELETE-FIXUP(T, need_fixup_node)

注:筆者參考的是算法導論的偽代碼,但是在實現的時候,因為用 NULL 表示空結點,如果需要修復的結點 need_fixup_node為空時無法拿到其父結點,因此保存了其父結點 need_fixup_node_parent 及其所在方向 direction,為刪除修復時訪問其父結點及其方向時做調整。

刪除操作流程圖

red-black-delete

刪除的修復操作分析

刪除過程中需要保存 successor 的顏色 color,因為刪除操作可能會導致紅黑樹的性質被破壞,而刪除操作刪除的是 successor。因此,每一次改變 successor 的時候,都要更新 color。

會導致紅黑樹性質被破壞的情況就是 successor 的顏色是黑色,當 successor 的顏色是紅色的時候,不會破壞紅黑樹性質,理由如下:

  • 性質 1,刪除的是紅結點,不會改變其他結點顏色,因此不會破壞。
  • 性質 2,如果刪除的是紅結點,那么該結點不可能是根結點,因此根結點的性質不會被破壞。
  • 性質 3,葉子結點的顏色保持不變。
  • 性質 4,刪除的是紅結點,因為原來的樹是紅黑樹,所以不可能出現連續兩個結點為紅色的情況。因為刪除是 successor 只是替換 node 的位置,但是顏色被改為 node 的顏色。另外,如果 successor 不是node 的右孩子,那么就需要先將 successor 的右孩子 successor->right 替換掉 successor,如果 successor 是紅色,那么 successor->right 肯定是黑色,因此也不會造成兩個連續紅結點的情況。性質 4 不被破壞。
  • 性質 5,刪除的是紅結點,不會影響黑高,因此性質 5 不被破壞。

如果刪除的是黑結點,可能破壞的性質是 2、4、5。理由及恢復方法如下:

  • 如果 node 是黑,其孩子是紅,且 node 是 root,那么就會違反性質 2;(修復此性質只需要將 root 直接變黑即可)
  • 如果刪除后 successor 和 successor->right 都是紅,那么會違反性質 4;(直接將 successor->right 變黑就可以恢復性質)
  • 如果黑結點被刪除,會導致路徑上的黑結點 -1,違反性質 5。

那么剩下性質 5 較難恢復,不妨假設 successor->right 有一層額外黑色,那么性質 5 就得以維持,而這樣做就會破壞了性質 1。因為此時 new_successor 就為 double black(BB)或 red-black(RB)。那么就需要修復new_successor 的顏色,將其“額外黑”上移,使其紅黑樹性質完整恢復。

注意:該假設只是加在 new_successor 的結點上,而不是該結點的顏色屬性。

如果是 R-B 情況,那么只需要將 new_successor 直接變黑,那么“額外黑”就上移到 new_successor 了,修復結束。

如果是 BB 情況,就需要將多余的一層“額外黑”繼續上移。此處還要看 new_successor 是原父結點的左孩子還是右孩子,這里設其為左孩子,左右孩子的情況是對稱的。

如果直接將額外黑上移給父結點,那么以 new_successor 的父結點為根的子樹就會失去平衡,因為左子樹的黑高 -1 了。因此需要根據 new_successor 的兄弟結點 brother 的顏色來考慮調整。

如果 brother 是紅色,那么 brother 的兩個孩子和 parent 都是黑色,此時額外黑就無法上移給父結點了,那么就需要做一些操作,將 brother 和 parent 的顏色交換,使得 brother 變黑, parent 變紅,這樣的話,brother 所在的子樹黑高就 +1 了,以 parent 為根做一次左旋恢復黑高平衡。旋轉之后,parent 是紅色的,且 brother 的其中一個孩子成為了 parent 的新的右孩子結點,將 brother 重新指向新的兄弟結點,然后接著考慮其他情況。

如果 brother 是黑色,那么就需要通過將 brother 的黑色和 successor 的額外黑組成的一重黑色上移達到目的,而要上移 brother 的黑色,還需要考慮其孩子結點的顏色。

如果 brother->right 和 brother->right 都是黑色,那么好辦,直接將黑色上移,即 brother->color = RED。此時包含額外黑的結點就變成了 parent。parent 為 RB 或 BB,循環繼續。

如果 brother->left->color =RED,brother->right->color = BLACK,將其轉為最后一種情況一起考慮。即將 brother->right 變紅。轉換步驟為:將 brother->left->color = BLACK; brother->color = RED。這樣的話 brother 的左子樹多了一層黑,右旋 brother,恢復屬性。然后將 brother 指向現在的 parent 的右結點,那么現在的 brother->right 就是紅色。轉為最后一種情況考慮。

如果 brother->right->color = RED。那么就要將 brother->right 變黑,使得 brother 的黑色可以上移而不破壞紅黑樹屬性,上移步驟是使 brother 變成 brother->parent 的顏色,brother->parent 變黑這樣一來,黑色就上移了。然后左旋 parent,這樣 successor 的額外黑就通過左旋加進來的黑色抵消了。但是 parent 的右子樹的黑高就 -1 了,而通過剛剛將 brother->right 變黑就彌補了右子樹減去的黑高?,F在就不存在額外黑了,結束修復,然后讓 successor 指向 root,判斷 root 是否為紅色。

刪除修復算法偽代碼

while node != root && node.color == BLACK)
    parent = node.parent
    if node = parent.left
        brother = parent.right
        if IS_RED(brother)
            brother.color = BLACK
            parent.color = RED
            LEFT_ROTATE(T, parent)
            brother = parent.right
        
        if brother.left.color == BLACK and brother.right.color == BLACK
            brother.color = RED
            node = parent
        elseif brother.right.color = BLACK
            brother.left.color = BLACK
            brother.color = RED
            RIGHT_ROTATE(T, brother)
            brother = parent.right
        else
            brother.color = parent.color
            parent.color = BLACK
            brother.right.color = BLACK
            LEFT_ROTATE(T, parent)
            node = root
    else (same as then clause with “right” and “left” exchanged)
node.color = BLACK

刪除修復算法的流程圖

red-black-delete-fixup

刪除操作的算法復雜度分析

刪除的操作主要有查找要刪除的結點,刪除之后的修復。

修復紅黑樹性質主要是旋轉和結點上移。對于查找來說,查找的算法復雜度是O(lgn),旋轉的復雜度是O(1),結點上移,走過的路徑最大值就是紅黑樹的高,因此上移結點的復雜度就是O(lgn)。

綜上所述,刪除算法的復雜度是 O(DELETE) = O(lgn) + O(1) + O(lgn) = O(lgn)

資源分享

如果對部分步驟不理解,可以到這個網站看看紅黑樹每一步操作的可視化過程:。

本次代碼的實現請點擊:

總結

因為基礎知識比較薄弱,所以想補一下自己的基礎,無奈悟性較低,花了大半個月時間才把紅黑樹給理解和實現出來。中途跟朋友討論了很多次,因此有以上的這些總結。之前一直不敢去實現紅黑樹,因為覺得自己根本無法理解和實現,內心的恐懼一直壓抑著自己,但經過幾次掙扎之后,終于鼓起勇氣去研究一番,發現,只要用心去研究,就沒有解決不了的問題。糾結了很久要不要發這篇博文,這只是一篇知識筆記的記錄,并不敢說指導任何人,只想把自己在理解過程中記錄下來的筆記分享出來,給有需要的人。但其實想想,糾結個蛋,讓筆記作為半成品躺在印象筆記里沉睡,還不如花時間完善好發布出來,然后有興趣的繼續探討一下。

如果真的要問我紅黑樹有什么用?為什么要學它?我真的回答不上,但是我覺得,基礎的東西,多學一些也無妨。只有學了,有個思路在腦海里,以后才能用得上,不然等真正要用才來學的話,似乎會浪費了很多學習成本。

 

本文轉載自


標簽:

本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn


為你推薦

  • 推薦視頻
  • 推薦活動
  • 推薦產品
  • 推薦文章
  • 慧都慧問
掃碼咨詢


添加微信 立即咨詢

電話咨詢

客服熱線
023-68661681

TOP
久久99精品一区二区三区 | 日本免费一区二区三区 | 99久久99久久精品国产 | 国产精品亚洲一区二区无码 | 国产在线aaa片一区二区99 | 国产又色又爽又好刺 | 极品少妇一区二区三区四区 | 亚洲电影一区二区三区 | 亚洲一区二区三区不卡在线播放 | 欧美人妻羞羞一区二区三区 | 亚洲va欧洲va日韩va忘忧草 | 亚洲麻豆?v无码成人片在线观看 | 欧美精品九九99久久在免费线 | 一级片在线观看免费 | 国产精品欧美v片免费观看 国产精品欧美福利久久 | 国产精品毛片久久久久久 | 在线观看亚洲av日韩a∨ | 少妇午夜福利一区二区 | 在线精品视频一区二区三四 | 免费无码成人av在线播放不卡 | 亚洲av极品无码专区在线观看 | www国产无套内射com | 亚洲va中文在线播放免费 | 精品午夜户外露出一区二区 | 亚洲视频专区 | 伊人影视网| 麻豆精品国产自产在 | 无码人妻一区二区三区精品视频 | 91在线无精精品秘一区二区 | 91精品国产高清自在线看香蕉网 | 成人片黄网站a毛片免费 | 日韩精品无码久久久久久 | 九九精品成人免费国产片 | 亚洲午夜精品一区二区三区 | 亚洲国人久久精品 | 国产av一区二区三区最新精品 | 欧美精品一区二区三区久久久精品 | 欧洲肉欲k8播放毛片护士 | 中文字幕乱码免费专区精 | 国产精品手机在线无码不卡 | 午夜福到在线4国产社区书记 | 精品免费无码一区二区三区 | 亚洲av电影天堂男人的天堂 | 成人麻豆亚洲综合无码精品产 | 二区日韩国产精品 | 成年女人免费毛片视频永久vip | 亚洲国产激情电影综合在线观看 | 国产欧美精品区一区二区三区 | 亚洲综合无码一区二区加勒此 | 欧美一级特黄特色大片免费 | 99热这里 | 毛片a片高潮喷水免费看 | 丰满少妇三级全黄 | 国产免费一级精品视频 | a级毛片成年 | 人妻少妇被猛烈进入中文字幕 | 亚洲欧美日韩一区在线观看 | 亚洲av永久无码天堂网国产 | 91露出在线观看 | 午夜精品久久久久成人 | 国内精品久久久久久蜜芽 | 91在线啪国自产观看高清频道 | 精品福利在线观看 | 日韩在线观看第一页 | 国产男同志免费高清在线观看 | 亚洲熟妇无码久久精品疯 | 精品久久久久久久一区二区 | 嫩草91短视频ap | 日本ⅴ精品一区二区三区久久 | 91制片天美果冻传媒 | 国产精品免费播放久久 | 国语自产偷拍精品视频偷拍 | 亚洲视频手机在线观看 | 另类欧美综合 | 97久久人人超碰国产精品 | 午夜在线欧美曰韩精品影视 | 99精品国产高清一区二区 | 国产乱子经典视频在线观看 | 91av国产精品 | 国产精品99久久99久久久不卡 | 日韩丰满少妇无码内射 | 国产日韩欧美另类视频 | 在线观看视频中文字幕三区 | 成人aⅴ综合视频国产永久观看 | 中文国产成人精品久久久 | 91精品一卡2卡3卡4卡v6.2 | 欧美亚洲国产日韩一二三区 | 国产麻豆一区二区三区精品视频 | 精品一区二区三区在线成人 | 国产蜜桃一区二区三区在线观看 | 无水印在线观 | 欧美三级私人影院一区二区 | 亚洲五月丁香综合视频 | 亚洲成av人无码综合在线 | 无码人妻一区二区三区在线视频 | 久久99精品久久久久久噜噜噜 | 美奶福利视频一区二区三区 | 中文成人无码精品久久久 | 韩国精品一区二区三区在线观看 | 国产一区免费在线观看 | 99国精品午夜福利视频不卡 | 成年女人aa级毛片免费观看 | 国产乱码一区二区三区爽爽爽女仆 | 国产成人+综合亚洲+天堂 | 日本不卡视频 | 麻豆精品久久精品色综合 | 91精品欧美产品免费观看 | 卡通动漫日韩无码一区二区三区 | 性色av一区二区三区 | 国产成a人片在线观看视频下载 | 狠狠色综合网站久久久久久久 | 伊人亚洲 | 国产成人亚洲综合91精 | 成年黄页网站大全免费无码 | 亚洲欧美日韩一本无线码专区 | 国产成人无码区在线观看資源免費看 | 99久久久无码国产精品6 | 午夜秋霞 | 日本免费精品一区二区三区 | 喷潮a片免费观看 | 国产一区二区视频在线观看 | 91九色精品| 欧美日韩午 | 国产欧美在线一区二区三区 | 国产ts人妖综艺在线观看 | 国产va免费精品观看 | 日本动漫在中国大陆传播分析 | 国内精品视频成人一区二区 | 91精品国产一区自在线拍 | 精品尹人在线观看 | 亚洲第一精品911 | 午夜无码级毛片免费视频 | 欧美性一区二区三区 | 国家一级在线播放高潮 | 99久久精品国产免费看 | 中文字幕无码日韩欧毛 | 国产成人8x人网站在线视频 | 中文字幕精品乱码中文字乱码 | 午夜蜜桃视频 | 99国产精品尤物精品视频 | 久久av无吗不卡 | 91精品国产91久久久久久麻豆 | 国产午夜福利在线永久视频 | 精品亚洲精品中文字幕乱码 | 亚洲av永久无码精品三区在线 | 无码精品一区二区三区免费视频 | 午夜毛片不卡免费观看视频 | 国产精品亚洲а∨天堂2025 | 亚洲精品无码你懂 | 欧美精品18禁 | 亚洲一区二区三区精品动漫在线登录 | 亚洲男人的天堂av手机在线观看 | 狠狠综合久久av一区二区 | 日本精品 | 97久久国产亚洲精品超碰热 | 麻豆av免费网站在线观看 | 九色视频在线观看 | 国产乱人伦app精品久久 | 国产麻豆精品手机在线观看 | 国产乱子伦农村叉叉叉 | 国产伦精品一区二 | 中日国产小视频一区二区三区 | 国产国产久热这里只有精品 | av无码精品一区二区三区四区 | 91亚洲一区二区在线观看不卡 | 91精品国产成人网在线观看 | 无码精品一区二区三区免费视频 | 国产精品妇 | 国内欧美不卡视频 | 日韩av一区二区在线电影 | 91丝袜美腿的无尽魅力呈现 | 成人精品一区二区三区在线观看 | 亚洲av天天做在线观看 | 婷婷婷国产在线视频 | 亚洲av无码一区二区三区人 | 日韩欧美国产传媒第一区二区 | 亚洲国产精品日韩av不卡在线 | 91精品国产免费青青碰在线观 | 亚洲国产精品热久久 | 久久99视热频国只有精品 | 97人妻人人揉人人躁原 | 亚洲不卡中文字幕无码的影片 | 99久久久无码国产精精品 | 丝袜国产高跟在线一区 | 人妻激情综合久久久久 | 91麻豆国产| 欧美日韩国产一区二区三区精 | 精品三级在线国产 | 国内精品久久久久久久久久影视 | 97久久久久国产精品嫩草影院 | 91免费国产视频久久久 | 亚洲日韩在线观看不卡 | 日产国产亚洲系列 | 黄桃av无码免费一区二区三区 | 日本丰满少妇高潮xxxx | 91青青青国产在观免费影视 | 国产午夜无码片在线观看 | 亚洲v无码v吞精久久 | 丰满岳乱妇在线观看视频国产 | 成人综合激情另类小说 | 麻豆国产精品 | 国产精品激情综合 | 无码毛片 | 国产女白丝脚交视频播放 | 欧美日韩国 | 少妇免费三级在线观看 | 欧美成人伊人久久中文字幕 | 中文字幕精 | 中文字幕日本人妻久久久免费 | 日韩大片 | 97人妻人人做人碰人人添高清 | 亚洲日韩一页精品发布 | 亚洲精品亚洲人成在线下载 | 欧美三级不卡在线观看 | 日韩精品亚 | 女同久久 | 亚洲精品欧美综合第四区 | 国产麻豆剧果冻传媒星空视频 | 黄色网址视 | 3d动漫精品啪啪一区二区下载 | 午夜无码级毛片免费视频 | 国产成人精品一区二三区在线观看 | 亚洲精品无码专区国产乱码 | 成年无码专区在线蜜芽tv | 国产亚洲色婷婷久久99精品91 | 国产成人午夜福利免费无码r | 日韩欧美婷婷色 | 国产精品自在拍一区二区不卡 | 国产精品免费看久久久无码 | 99久久人妻无码精品系列 | 午夜成人理论无码电影在线播 | 国产精品秘麻豆免费版 | 久草福利在线观 | 日韩丰满少妇无码内射 | 人人妻人人狠人人爽 | 国产办公室秘书 | 欧美色伊人 | 91大片| 日韩精品欧美高清区 | 国产成人av一区二区三区在线观看 | 亚洲精品无码久久久久av老牛 | 91天美麻豆精东蜜桃传媒 | 国产精品爽爽ⅴa在线观看 国产精品爽爽v | 国产成人av网站手机不卡 | 成年女人18级毛片毛片免费 | 91麻精品| 九色国产在视频线精品视频 | 波多野结衣在线调教免费观看 | 精品无码国产自产在线 | 91探花 | 国产一区二区三区在线观看视频 | 91亚洲视频 | 精品一区二区三区的国产在线观 | 亚洲成a人v欧美综合天堂 | 91po国产在线精品免费观看 | 97视频app下载 | 中文字幕人妻一区二区在线视频 | 欧美成人精品福利视频 | 亚洲av无码国产成人久久软件 | 成人妇女免费播放久久久 | 91丝袜精品久久久久久无码人妻 | 亚洲av无码一区二区三区在线播放 | 99电影网 | 东京热加勒 | 91福利国产在线观看网站 | 国产精品久久久久精品综合 | 亚洲一区综合在线播放 | 午夜亚洲国产日本电影一区二区三区 | 国产精品亚洲欧美大片在线观看 | 精品动漫中文字幕一区二区三区 | 99久久伊人精品波多野结衣 | 中文精品免费视频 | 成人家庭影院 | 黄页在线观看av网站无广告 | 成人福利在线观看免费视频 | 99国产在线观看 | 91caoporn| 黄片黄色wwww| 在线视频免费观看www动漫 | 国产精品一区二区av麻豆 | 午夜福到在线a国产4视频 | 九九热国产视频精品 | 国产一区二区三区乱码福利 | 91久久国产成人免费观看 | 久草福利在线观 | 99re视频热这里只有精品38 | 亚洲麻豆?v无码成人片在线观看 | 精品无码久久久久久久久久 | 岛国av无码专区免费看 | 亚洲av综合色区无码二区爱av | 91无码人妻精品一区二区蜜桃 | 久久国产成人午夜av影院漫画 | 国产成人欧美视频在线 | 91精品欧美产品免费观看 | 国产精品 | 91久久人人爽亚洲精品美女 | 成人区人妻精 | 日本h纯肉无遮掩3d动漫在线观 | 999精品国产人妻无码系列 | 九九视频精品全部免费播放 | 国产aⅴ精品一区二区三区久久 | 99久久精品费精品国产一区二区 | 成人精品 | 欧美日韩亚洲二区在线 | 成人精品一区二区三区在线观看 | 日韩线一区av在免费 | 精品一区二区久久久久久久网站 | 亚洲午夜无码久久久久软件 | 欧美交性又色又爽又黄 | 欧美精品久久久久久久久爆乳 | 午夜性影院爽爽爽爽爽爽高清 | 国产精品亚洲天堂无码 | 怡红院日本一道日本久久 | 欧美乱色伦图片区小说 | 99在线精品国产不卡在线观看 | 在线精品视频一区二区三四 | 精品久久久久久久久午夜福利 | 亚洲国产区男 | 欧美一区二区三区激情啪啪 | 少妇被躁爽到高潮无码人狍大战 | 91麻豆精品国 | 中文字幕亚洲综合久久青草 | 日韩精品一区二区亚洲 | 不卡高清专区 | 无码啪一啪在线 | 99精品众筹模特在线 | 97视频在线精品国自产拍 | 日本高清视频色惰www无不卡 | 亚洲午夜国产精品 | 丰满人妻一区二区三区免费视频 | 国产精品亚洲а∨无码播放不卡 | 欧美成人看片一区二三区 | 91精品无人区麻豆乱码4区开放时间 | 国产伦精品一区二区三区网站 | 亚洲av永久无码精品三区在线 | 日韩av成人一区二区三区 | 91在线日| 精品亚洲欧美视频在线观看 | 欧美剧情视频在线播放 | 欧美色欲激情视频一区二区三区 | 91国语对白 | 波多野结衣高潮颠抖不停 | 亚洲手机在线观看不卡av | 亚洲av自拍偷拍精品区 | 国产最全在线观看性 | 国产在线观看免费视频在线 | 果冻传媒新剧国产浮生影院 | 欧美日韩精品视频一区二区在线 | 韩国午夜理伦 | 精品无码日韩一区二区三区不卡 | 亚洲av一本岛在线播放 | 天天插一插 | 香蕉视频免费在线观看 | 亚洲日韩中文字综合av | 久草超碰一区二区在线 | 国产不卡av在线免费观看 | 国语对白农村老太婆bbw | 久久成人免费 | 欧美视频一区二区三区 | 国产白丝丝高跟在线观看 | 国产精品不卡 | 日韩精品久久无码中文字幕 | 国产成人精品在线 | 无码精品人妻一区二区三区免费 | 国产精品高清视亚洲中文 | 欧美日韩午夜精品不卡综合 | 国产精品外围在线观看 | 欧美日韩午夜精品不卡综合 | 国产午夜亚洲精品在线观看 | 在线视频一区二区三区三区不卡 | 国产成人无码18禁午夜福利p | 国产欧美亚洲精品下载第二区 | 国产亚洲精品精品国产亚洲综合 | 国产探花在线精品一区二区 | 国产午夜不卡av高清 | 无码国产免费不卡视频 | 日本熟妇色 | 国产学生真实初次破初视频网站 | 一级欧美伦奷 | 精品99午夜福利影院 | 欧美精品一区二区 | 成人伊人精品色xxxx视频 | 韩欧美一区二区 | 日本一二三不卡免费视频 | 韩国精品视频一区二区在线播放 | 深夜a级毛片免费视频 | 亚洲日本va午夜中文字幕一区 | 99re8精品视频在线播放 | 无码精品人妻一区二区三 | 无码三级香港经典三级在线视频 | 91久久91久久精品麻豆 | 国产福利一| 三年片免费观看大全 | 亚洲精品无码久久 | 国产欧美视频高 | 亚洲中文字幕第一页在线 | 日韩中文字幕久久精品 | 日韩午夜资源在线 | 亚洲午夜精品久久久天堂 | 色婷婷六月亚洲6月中文字幕 | 中文字幕久久 | 97国产精品无码免费视频 | 久草免费福利资源站在线观看 | 91人妻人人澡人人爽人人玩 | 亚洲精品91大神在线观看 | 国产高潮国产高潮久久久91 | 午夜免费视频 | 国产精品一区二区三区av | 91嫩草免费国产永久入口 | 日韩无码三级 | 国产白嫩精品久久 | 国产精品亚洲а∨无码播放麻豆 | 亚洲精品久久久久久久久av | 亚洲午夜久久久影院 | 国产免费一级精品视频 | 国产va免费精品高清在线 | 亚洲成人黄色在线观 | 国产精品美女久久久网站动漫 | 国产午夜无码精品免费看粉 | 制服丝袜| 国产午夜精品喷水久久 | 狠狠色综合激情丁香五月 | 亚洲中文字幕久久精品无码喷水 | 日本午夜免费 | 91精品国产闺蜜国产在线闺蜜 | 日韩av毛片不卡无码免费 | 国精产品一品二品国精品69xx | 国产亚洲精品第一综合麻豆 | 日产国产亚洲系列 | 久久成人国产精 | 国产欧美a∨一区二区 | 亚洲日本va中文字幕午夜福利 | 精品伦精品一区二区三区视 | 国内精品久 | 国产一级a厂片在 | 国产成人精品一区二区三区无码 | 日本一区二区三区免费 | 偷拍中国熟妇乱xxxxx | 无码亚洲国产一区 | 人妻小说一区二区三区 | 国偷自愉自产产区91区 | 一级做a爰片久久毛片免费看 | 亚洲一区二区天海 | 精品久久久久久久久久中文字幕 | 欧美日韩一区二区 | 国产精品嫩草影院久久久 | 日韩一道本中文字幕 | 久操综合 | 日本精品成人一区二区三区视频 | 国产综合一区二区三区黄页秋霞 | 国产产嫖技亚洲精品电影 | 日本强好片久久久久 | 91孕妇精品一区二区三区 | 国产无遮挡裸露视频免费 | 欧美日韩午夜情爱在线 | 果冻破解版无限app旧版下载 | 日韩精品一区二区亚洲av观看 | 国产精品黄在线观看免费网站 | 黄色激情不卡网 | 欧美日韩国产制服在线 | 欧美午夜精品免费理论片 | 精品人妻一区二区三区四在线 | 麻豆国产91在线播放 | 国产精品国产三级国产专播 | 人妻久久精品天天中文字幕 | a级毛片大片免费香蕉网 | 国产一区二区在线不卡 | 果冻传媒的女主董小宛免费高清资源 | 国产精品国产自线 | 国产欧美日韩精品视频二区 | 国语对白一级片女主播 | 少妇无码一区二区三区免费 | 欧美日韩国产一级 | 国产精品视频专区国产亚洲精品网站 | 亚洲爆乳精品无码一区二区 | 特级毛片a级毛片免费观看网站 | 99久久国产精品免费热麻豆 | 国产精品18久久久久久不卡 | 国产精品99久久精品 | 91嫩草亚洲精品 | 99精品久 | 丰满少妇 | 国产爆乳无码一区二区麻豆 | 中出无码一区二区三区 | 91导航小污女导航天天夜夜爽 | 国产裸拍裸体视频在线观看 | 国产av无码福利精品成人久久 | 色婷婷电影久久综合 | 特级丰满少妇一级aaaa爱毛片 | 国产成人无码无卡在线观看 | 国产午夜福利免费看片 | 麻豆av无码在线观看 | 在线观看亚洲av无码每日更新 | 91传媒制片厂网址多少 | 日本www一道久久久免费 | 国产成人a视频高清在线观看 | 日本aⅴ| 91桃色无码国产在线观看二区 | 99精品电影一区二区免费看 | 国产成人啪精品午 | 在线观看av不卡网站永久 | 日韩精品系列产品 | 无码人妻精品一区二区三区9厂 | 在线极品美女a毛片费观看 在线精品91青草国产 | 91中文在线字幕 | 91精品久久久久久久免费看 | 国产精品毛片久久 | 在线a级毛片无码免费真人 在线a精品一区二区 | 99精品国产在热久久国产乱 | 国产极品在线 | 国产电影一区二区三区 | 日本中文字幕一区二区有码在线 | 国产精品视频六区 | 国产片免费福利片永久不卡 | 国产精品亚洲一 | 无码免费久久 | 国产一级二级免费观看 | 成人久久欧亚洲精品无码久久性 | 97久久精品人妻人人搡人人玩 | 国产一级做a爰片久久毛片男 | 综合伊人久久在一二三区 | 精品伊人久久久大香线蕉天堂 | 国产精品福利成人午夜精品视频 | 欧美高清一区二区三区 | 91精品日本久久久久久牛牛 | 果冻破解版(果冻视频)下载免费 | 欧美大香线蕉线伊人久久 | 日韩福利短片在线观看 | 国产成人无码视频一区二区三 | 国产精品美女久久久免 | 国内精品久久久久精免费 | 国产综合久久久久 | 国产xx| 人人添人人澡人人澡人人人人 | 国产精品久久 | 海角社真实xxⅹ人伦 | 深夜国产一区二区三区在线看 | 尤物99国产成人精品视频 | 亚洲一区二区美女av | 国产一在线精品一区在线观看 | 日本一区二区免费在线观看 | 精品99午夜福利影院 | 亚洲丰满爆乳肉感无码一区二区三 | 成年日本h片免费网站 | 国产偷窥女洗浴在线观看 | 日韩人妻无码一区二区三区久久99 | 国产在线观看色 | 亚洲国产一成久久精品国产成人综合 | 国产激情a∨在线视频播放 国产激情av一区二区三区 | 欧美高清在线观看海外剧在线观看 | 激情内射亚州一区二区三区爱妻 | 国产aⅴ天堂亚洲国产av | 国产伦精品一区二区三区高清 | 91视频下载 | 91福利在线观看 | 国产成人8x视频一区二区 | 国产盗摄偷窥在线观看 | 国产清纯白嫩美女正无套播放 | 人体内射精一区二区 | 国产在线观看激情 | 中文字幕久久最新 | 国产在线98福利播放视频 | 丰满人妻熟妇乱精品视频 | 午夜无码在线免费网站 | 日韩精品无码中文字幕一区二区 | 99久久99久久精 | 麻豆精品一区二区视频在线 | 精品一区二区三区蜜桃hd | 91精品国产免费自在线观看 | 欧美日产影院久久 | 国产精品白丝无码视频一区 | 日韩一区二区在线 | 狠狠干天天爽 | 自拍视频91 | 韩国三级bd高清在线观看 | 一区二区三区免费高清视频 | 91久久国产口精品久久久久 | 国产偷窥女洗浴在线观看亚洲 | 国产成人高清在线观看播放 | 少妇三级 | 精品欧洲av无码一区二区三区 | 一级做a爰片 | 精品国产自产在线 | 成人a毛片免费观看网站 | 日韩中文字幕网先锋资 | 国产旗袍丝袜在线观看视频 | 国产高清极品美女黄色网站 | 亚洲国产精彩中文乱码av | 国产无遮挡又黄又爽网站 | 在线精品视频一区二区三四 | 日韩理论电影在线观看 | 日本久久精品视频 | 亚洲av中出手机版在线观看 | 欧美成人精品视频在线观看 | 99久久精品免费网站 | 成全动漫视频在线观看 | 亚洲无码精品在线播放 | 深夜a级毛片视频免费 | 91精品丝袜国产在线一区 | 久久av无码精品人妻系列 | 特级毛片爽www免费版 | 在线精品免费视频无码的 | 91麻豆国产在线观看 | 中日韩一卡二卡三卡四卡免 | 99热成人精品 | 国产婷婷综合在线视频 | 欧美日韩一区 | 国产噜噜噜噜久久久久久久久 | 亚洲综合精品一区二区三区中文 | 亚洲产国偷v产偷v自拍色戒 | 欧美日本在 | 日韩精品一区二区三区视频 | 精品少妇人妻av久久免费 | 91精产品一永久下载app官方正 | 91久久精品国产亚洲 | 国产亚洲系列第一页在线播放 | 99久久国产综合精品1 | 十八禁无码免费网站 | 99爱视频精品在线观看 | 人人妻人人澡人人爽欧美一区九九 | 亚洲av无码一区二区三区在线播放 | 欧美午夜激情久久久久久 | 国产av一区二区三区天堂综合网 | 国语对白农村老太婆bbw | 91亚洲中文天堂在线播放 | 国产日韩av在线播放 | 国产骚妇自慰在线 | 国产v在线在线观看视频免费 | 日本成人性爱免费在线观看网站 | 99久re热视频这里只有精品 | 97精品一区二区视频在线观看 | 99精品热6080yy久久 | 日韩人妻无码精品无码中文字 | 国产高清无码在线观看 | 日韩视频第一页二页 | 精品无码不卡中文字幕 | 综合激情五月综合激情五月激情1 | 成人涩涩小片视频日本 | 国产精选秘免费进入竹菊影视 | 国产一级做a爱免费观看 | 亚洲国产精品日韩在线 | 亚洲av日韩av天堂影片精品 | 国产污三级网站在线观看 | 三级片中文字幕在线无码 | 国产视频一区二区三区四区五 | 娇妻跪趴高撅肥臀出白浆 | 91视频成人| 国产午夜在线观看视频 | 午夜tv| 99久久婷婷免费国产综合精品 | 国产日韩久久久久精品影 | 久久99精品久久久久久国 | 国产一区二区精品 | 亚洲综合偷自成人网第页色 | 日韩成人av片在线观看 | 国产精品一区二区不卡小说 | 国产成a人片在线观看视频9 | 国产成人精品久久 | 亚洲а∨精品天堂在线 | 成人精品一区二区三区中文字幕 | 欧美极品少妇 | 国产无遮挡又黄又爽 | 无遮挡很爽很污很黄的网站 | 人妻日韩精品中文字幕 | 国产片av国语在线观看 | 亚洲国产日韩在线观看18 | 国产偷国产偷亚洲高清app | 国产做无码视频在线观 | 97国产精品麻豆性色 | 99久久婷婷国产综合亚洲 | 亚洲国产精品午夜伦不卡 | 精品国产成人t | 精品人妻无码一区二区三 | 亚洲国产精品午夜伦不卡 | 国产亚洲第一午夜福利合集 | 国产精品视频平台推出全新 | 91麻豆国产精品免费视频 | 在线国产精品日 | 91大神精品全国在线 | 午夜国产毛片v区一区二区三区 | 国产一区av麻豆免费观看 | 性色av一区二区三区咪爱四虎 | 国产原创在 | 欧美成人精品福利视频 | 国产乱色精品成 | 91香蕉成人免费高清网站 | 精品无码人妻被多人侵犯av | 亚洲男人的天堂aⅴ在线视频 | 爱豆传媒免费全集在线观看 | 国产国语成人三级丰满激情视频在线 | 福利一区二区三区四区视频 | 国产一区二区三区樱花动漫 | 99久久精品免费网站 | 亚洲av本道一区二区三区 | 日本xxxwww在线观看 | 国产无遮挡吃奶视频网站 | 精品无码三 | 国产99视频精品免费专区 | 91精品国产一区自在线拍 | 91全国精品免费青 | 99在线精品日韩一区免费国产 | 精品国产免费人成电影 | 91孕妇精品一区二区三区 | 国产观看免费在线久 | 精品无码一区二区三区在线 | 综合无码一区二区 | 精品一区二区三区免费播放 | 亚洲一区综合 | 91制片厂制作果冻传媒 | 日韩av影视久久 | 国产伦精品一区二区三区在线观看 | 中文国产成人精品久久天堂 | 国产精品亚洲成在人线 | 亚洲av无码国产精品色 | 三级网站在线免费观看 | 国产ts在线播放网站 | 国产真人无码免费视频 | 91在线无码精品秘入口色 | 91精品无码久久久久久久久 | 午夜福利无码国产精 | 欧美风情亚洲 | 亚洲精品无码专区国产乱码 | 无码中文字幕人妻在线一区 | 97热久久免费频精品99国产 | 亚洲成a人片在线观看中文无码 | 国产又滑又嫩又白 | 国产成人高清在线播放 | 在线观看免费视频一区 | 国产麻豆天美果冻无码视频 | 996热国产在线精品 99999久久久久久亚洲 | 神马午夜av午夜一二区 | 国产精品无打码在线播放 | 欧美午夜精品免费理论片 | 97精品国产高清自在线 | 办公室的丰满秘书cd | 97久久超碰成 | 亚洲精品乱码久久久久红杏 | 99久久99热精品免费观看国产 | 欧美一区二区三区无码大象视频 | 国产成人a码男人的天堂 | 色综合伊 | 97热久久免费频精品99 | 婷婷综合激情五月中文字幕 | 婷婷综合久久一区二区三区 | 极品丰满少妇xxxhd剃毛 | 国产欧美综合一区二区三区 | 99er国产这里只有精品视频免费 | 在线观看中出内射人和动物 | 麻豆国产女教师一区二区三区 | 丰满人妻一区二区三区无码av | 欧美va视频| 一区二区无码 | 中文字幕日本最新乱码视频 | 国产免费观看不卡黄av片 | 国产老熟女八av | 午夜福利理论片高清在线 | 激情无码一 | 国产成人亚综合91精品首页 | 午夜av理论片一区二区三区 | 91信用卡app下载安装 | 久久99精品国产麻豆 | 成人午夜福利视频后入 | 欧美猛交xxxx免费看 | 欧美性爱在线观看亚洲 | 人人狠狠久久综合亚洲婷婷 | av中文字幕一区二区 | 无码专区最新地址发布 | 97午夜理论片在线影院 | 国产h片视频在线观看 | 国产欧美综合一区二区三区 | 国产精品秘麻豆免费版下载 | 国产精品欧美在线 | 亚洲av无码片在线观看 | 99视频精品免费专区 | 三区在线观看 | 国产呦精品一区二区三区 | 中文字幕精品 | 97久久超碰极品视觉盛宴 | 日韩av无码一网二网三网 | 丰满女邻居做爰bd | 国产欧美一区二区 | 天堂网国产69高清在线视频 | 91po国产在线精品免费观看 | 欧美a级情欲片在线观看免费 | 国产精品亚洲 | 国产午夜视频久久 | 99久久免费国产精品热 | 国产精品亚洲二区在线观看 | 中文字幕不卡二区亚洲 | 精品无码一区二区三区电影 | 91精品国产高清自在线看香蕉网 | 国产丝袜美女在线高潮网站 | 99久久精品无码专区 | av午夜福利精品一区 | 亚洲成av人片一区二区蜜柚 | 成人家庭影院 | 国产午夜成人久久无码一区二区 | 无码人妻精品一区二区三区51 | 久久超乳爆乳中文字幕 |