老司机夜插-理伦理片-理伦片免费-理伦片免费观看-理伦片免费看-理伦日韩-理论福利片-理论片第一页-理论片电影-理论片理论

金喜正规买球

紅黑樹算法探索筆記

轉帖|行業資訊|編輯:郝浩|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 變黑就彌補了右子樹減去的黑高。現在就不存在額外黑了,結束修復,然后讓 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
疯狂揉小泬到失禁高潮AV | av网址有哪些| 中文字幕视频在线播放 | 日本韩无专砖码高清 | 国产永久视频 | 国产在线精品亚洲观看不卡欧美 | 一级做a爱过程免费视 | 老司机午夜视频 | 国自产拍偷拍精品啪啪色 | 亚洲AV久久无码精品九九小说 | 日韩不卡在线视频 | 久久综合亚洲精品一区二区 | 四虎影视在线看免费完整版 | 亚洲女同在线 | 国产成人一区二区三中文 | 黄网国产 | 中文字幕在线观看91 | 色情无码永久免费视频网站APP | 亚洲欧洲日韩另类自拍 | 亚洲国产品综合人成综合网站 | 国产成人自产拍免费视频 | 麻花传媒网站永久入口视频 | 经典三级一区二区三区视频 | 最近最好的中文字幕免费 | 一级毛片免费观看不卡视频 | 成年啪啪网站免费播放看 | 国产成人ay手机在线观看 | 亚洲AV成人一区二区三区在线看 | 欧美无人区码卡二卡3卡2022 | 欧美在线视频免费观看 | 在线观看国内自拍 | 国产免费不卡v片在线观看 国产美女一级做视频爱 | 性色AV一区二区三区咪爱四虎 | aaaaaa级特色特黄的毛片 | 男女国产猛烈无遮挡色情 | 国产黄网站在线观看 | 91高清免费国产自产拍2021 | 99精产国品一二三产区在线 | 无码专区久久综合久综合字幕 | 国产一级特黄高清免费大片dvd | 最近在线视频观看2018免费 | 美国巨根 | 亚瑟AV亚洲精品一区二区 | 日本三区四区免费高清不卡 | 亚洲精品久久久久一区二区 | 中文字幕不卡免费高清视频 | 日本无码H纯肉黄动漫A红桃 | 有没有看片的免费资源 | 国产色精品久久人妻无码看 | 好大好硬好深好爽老师受不了 | 婷婷在线免费观看 | 日日麻批免费视频播放40分钟 | 天天躁夜夜 | 国产亚洲日韩精品激情 | 日韩亚洲人成在线 | 午夜国产精品视频在线 | caoporn免费| 国产精品视频一区二区猎奇 | 日本韩无专砖码高清 | 呜呜呜看看色波 | 国产h视频在线观看免费 | 日韩精品在线看 | 中文字幕在线免费视频 | 久久香蕉国产线熟妇人妻 | 2022免费国产精品福利在线 | 日韩一级欧美一级 | 色欲AV亚洲AV无码精品 | 日韩人妻无码精品系列 | 在线播放午夜理论片 | 亚洲欧美韩国综合色 | 免费精品国产人妻国语色戒 | 黄色毛片视频免费 | 欧美一卡2卡3卡4卡 免费 | 一个人在线观看的免费视频www | 久久综合九色综合97小说 | 中文字幕在线免费 | 亚洲一卡2卡3卡4卡国产网站 | 苍井空a 集在线观看网站 | 九九久久国产 | 日本不卡视频免费的 | 国产自国产自愉自愉免费24区 | 亚洲综合日韩精品欧美综合区 | 色网在线| 岛国岛国免费V片在线观看 岛国精品无码少妇在线 | 香蕉99 | 熟女丰满老熟女熟妇 | 国产日本欧美在线观看 | 国产精品99精品久久免费 | 最近最新日本中文字幕MV2024 | 在线视频久久只有精品第一日韩 | 欧美精品做人一级爱免费 | 妖精视频一区二区三区 | 伊人狠狠丁香婷婷综合尤物 | 日韩熟女精品一区二区三区 | gogo亚洲肉体艺术照片9090 | 黄a级网站在线观看 | 蜜桃视频在线观看免费网址入口 | 国内精品久久久久久中文字幕 | 看全免费的一级毛片 | 日日噜噜夜夜狠狠tv视频免费 | 琪琪热码在线中文字幕 | 茶卡盐湖| 久久成人国产精品免费 | 最新国产三级久久 | 一级a级毛片 | 中文字幕无限乱码不卡2021 | 亚洲A片成人无码久久精品色欲 | 最近高清无吗免费看 | 国产熟妇久久精品亚洲熟女图片 | 欧美午夜寂寞影院安卓列表 | 久久久免费看少妇高潮A片18禁 | 三级黄色a | 2024夜夜干天天骑日日日 | 张馨予疯狂床照视频 | 成全在线观看免费观看大全 | 亚洲AV国产AV综合AV卡 | 中冶葫芦岛有色金属集团有限公司 | 天天色成人网 | 国产成人高清亚洲一区91 | 欧美中文字幕在线播放 | 国产免费久久精品国产传媒 | 男人大JI巴做爰好爽视频 | 日韩人妻无码精品A片免费不卡 | 日本丰满大乳人妻无码 | 亚洲精品中文字幕无码A片蜜桃 | 一级片免费视频 | 精品AV亚洲乱码一区二区 | 国产一区二区三区美女在线观看 | 美目盼兮amy198281 | 亚洲另类欧美在线电影 | 韩国女人高潮嗷嗷叫视频 | 免费视频国产在线观看网站 | 久久国产三级 | 色七久久久久综合影院 | 免费在线播放黄色 | 色婷婷成人| 91免费视频网 | 免费一级黄色 | 和日本免费不卡在线v | 成人h视频 | 丰满五十老女人性视频 | 国产18禁黄网站免费观看 | 91最新在线播放 | 天海翼一区二区三区四区 | 波多野结衣综合 | 国产精品大陆在线视频 | 麻豆妓女爽爽一区二区三 | 奶大灬舒服灬太大了一进一出 | AV天堂午夜精品一区 | 在线高清无码欧美久章草 | 亚欧免费观看在线观看更新 | 国产精品一区二区三区免费 | 亚洲精品乱码8久久久久久日本 | 狠狠色噜狠狠狠狠 | 国产午夜久久精品 | 亚洲 欧美 丝袜 制服 在线 | 欧美精品啪啪 | 国产熟妇另类久久久久婷婷 | 久久精品国产久精国产果冻传媒 | 五月色综合网天天综合网 | 影音先锋av999资源网 | 无码观看欧美夜夜夜夜爽 | 黄到下面流水的爽文很污的情话 | 久久精品视在线观看2 | 真实露脸国产熟妇熟年妇人视频 | 三级黄色片在线免费观看 | 精品日本亚洲一区二区三区 | 少妇内射视频播放舔大片 | 伊人色爱久久综合网 | 午夜福利视频250 | 中文字幕色婷婷在线视频 | 日本人妻仑乱少妇A级毛片潘金莲 | 欧洲无人区码SUV | 欲乱又大又粗 | 亚洲乱码国产一区三区 | 在线导航福利 | 亚洲 欧洲 视频 伦小说 | 欧洲无码八A片人妻少妇 | 日韩免费一级a毛片在线播放一级 | 日本一本为道高清视频 | 韩国三级一区 | 少妇无套内谢久久久久 | 在线播放一区二区 | 91视频你懂的 | 丁香婷婷在线观看 | 视频一区中文字幕日韩专区 | 性生交大片免费看 | 在线观看视频观看高清午夜 | 午夜免费网站 | 最近最新中文字幕大全电影 | 一个人观看的免费视频 | 成熟少妇大片免费看 | 邪恶肉肉全彩色无遮盖无翼海贼王 | 国产区免费在线观看 | 好涨太粗进去用力快好深 | 成人影视网 | 午夜福利视频1692 | 午夜福利影院私人爽 | 亚洲男人天堂2018av | 久九九精品免费视频 | 色综合亚洲色综合网站 | 丁香婷婷亚洲 | 国产毛片精品一区二区色欲黄A片 | 免费无码又色又爽的视频软件 | 色哟哟网站在线观看 | 四库影院884TT永久地址 | 性一交一乱一伦一A片 | 国产成人一区二区三区影院动漫 | 国产蝌蚪 | 中芯国际回应涉军传闻 | 欧美精品在线观看 | 男女做爰猛烈啪啪吃奶动A 男人j进女人j的图片 | 青草国产在线视频 | 伊人精品视频直播 | 国色一卡2卡3卡4卡在线新区 | 日本无翼乌邪恶大全彩男男 | 国产网站免费 | 日本一区二三区好的精华液 | 国产人妻人伦精品9 | 三级黄色免费片 | 护士97资源站共享总站 | 国产91精品久久久久久久 | 在线播放国产乱 | 阿娇不雅视频 | 国产偷抇久久精品A片图片 国产偷国产偷亚州清高APP | 水蜜桃视频在线播放下载 | 做爰全过程免费的视频在线观看 | 色综合小说天天综合网 | 另类色区 | 秋霞伦理手机在线看片 | 幻女FREE性ZOZO交喷水 | 亚洲AV综合色一区二区三区 | 免费国产黄网站在线看品善网 | 亚洲乱码一卡二卡四卡乱码新区 | 亚洲A片无码一区二区蜜桃久久 | 国产成人精品永久免费视频 | 亚洲瑟瑟| 国产精品久久久久久久网站 | 午夜福利视频集合1000 92 | 亚洲AV嫩草AV极品A片 | 人妻无码手机在线中文 | 伊人影院久久 | 欧美亚洲三级 | 高清国产精品人妻一区二区 | 少妇人妻千子深太紧了A片 少妇爽滑高潮几次 | 999国产高清在线精品 | 国产高清免费不卡观看 | 久久精品无码欧美成人一区 | 国产高清免费不卡观看 | 丁香花成人 | 九九九九在线视频播放 | 人妻超级精品碰碰在线97视频 | 无码免费人妻A片AAA毛 | 欧美黄色一级视频 | 免费AA片少妇人AA片直播 | 3及网站 | 2018天天拍拍天天爽视频 | 国产日韩欧美综合一区二区三区 | 久久久久久91香蕉国产 | 91国内外精品自在线播放 | 久久久噜噜噜久久 | 免费观看片 | 午夜精品久久久久久久第一页 | 九色91精品国产网站 | 亚洲黄色成人 | 欧美精品亚洲精品日韩 | 中国国产成人精品久久 | 国产三级国产精品国产普男人 | 一本大道一卡二卡三网站 | 国产精品扒开腿做爽爽爽A片小 | 彩色很h中文漫画集 | 最新在线中文字幕 | 欧州一级毛片 | 男女久久久视频2019 | 五月婷婷综合缴猜 | 欧美精品成人一区二区在线观看 | 国产网站91 | 日韩毛片高清免费 | 欧美亚洲色倩在线观看 | 天美麻豆 | 欧美性猛交A片索多玛120天 | 偷偷撸在线影院 | 亚洲wu码| 四虎影视在线看免费完整版 | 一级黄色片网 | 在线岛国片免费观看无码 | 激情内射亚洲一区二区三区爱妻 | XX性欧美肥妇精品久久久久久 | 欧美综合色网 | 国产av在在免费线观看美女 | 亚洲欧美日韩国产成人app | 伊人久久丁香色婷婷啪啪 | 日韩免费精品视频 | 最近最新高清中文字幕 | re99| 久久在热照片免费 | 久国产视频 | 中文字幕久久精品波多野结 | 国产麻豆视频免费观看 | 亚洲精品亚洲人成人网裸体艺术 | 医生护士一级毛片 | 国产精品不卡在线 | 国产成人精品日本亚洲11 | 日本一卡二卡3卡四卡免费 日本一卡二卡三卡四卡免费观 | 免费AA片少妇人AA片直播 | 最近中文字幕完整视频高清 | 亚洲国产欧美在线观看 | WWW午夜调情 | 日本中文字幕永久在线 | 国产精品卡一卡2卡三卡网站 | 欧美性爱 成人 | 国产精品日本欧美一区二区 | 殴美一级 | 99久久精品免费看国产一区二区三区 | 苍井空大尺寸视频大全 | 亚洲精品久久久久久久不卡四虎 | 色中色成人导航 | 欧美片第1页 综合 | 99国精产品一二三区 | 69久久国产精品热88人妻 | 国产免费一级精品视频 | 97精品一区二区视频在线观看 | 男人午夜网站 | 中文字幕视频在线 | 再深点舒服灬太大了添A片 在办公室里揉护士的胸 | 免费看片A级毛片免费看 | 妻子免费高清电视剧 | 六月婷婷综合激情 | V11亚二新区乱码无人区 | 日韩精品专区在线影院重磅 | 古装全套 毛片 | 在线色网址 | 久久九九久精品国产尤物 | 无码一卡二卡三卡四卡 | 无码专区aaaaaa免费视频 | 日韩美一区二区 | 九九这里有精品 | 国产V片在线播放免费观看大全 | 亚洲AV成人片色在线观看高潮 | 窝窝色资源站 | 影音先锋av看片资源库 | 亚洲一区在线观看视频 | 国产剧情在线精品视频不卡 | 欧美乱码卡一卡二卡四卡免费 | 美女下面揉出水免费视频 | 狼人久久尹人香蕉尹人 | 色天天网| 成人网免费视频 | 亚洲女人网 | 久久人人爽爽人人爽AA片 | 亚洲福利影视 | 国产乱子伦农村叉叉叉 | 我替清水文男主们开荤H | 天堂在线亚洲 | 2024美女视频黄频大全视频 | 久久艳务乳肉豪妇荡乳A片 久久夜色噜噜噜亚洲AV0000 | 国产日韩精品一区二区在线观看 | 大陆老熟女嗷嗷叫AV在线 | 天堂中文在线最新版地址 | 亚洲欧美无人区乱码 | 99RE久久爱五月天婷婷 | 黄色成人免费网站 | 黄页免费观看 | 狠狠影院 | 嗯啊抵在墙上H失禁受男男 嗯啊灬别停啊灬用力灬快 嗯啊快拔出来我是你老师 嗯啊在线观看 | 酒色网最新网址 | 中文字幕不卡免费高清视频 | AV色欲AV蜜臀AV久久 | 国产无遮挡色视频免费观看性色 | 人妻无码13p | 国产精品综合一区二区 | 国产欧美日韩综合精品一区二区 | 成人无码精品1区2区3区免费看 | 开心久久婷婷综合中文字幕 | 一区二区人妻精品无码A片 一区二区人妻无码欧美 | 成年黄色网址 | 亚洲天码中字 | 日本 韩国 亚洲 欧美 在线 | 国产freexxxx性播放麻豆 | 狠狠色噜噜狠狠狠狠狠色综合久久 | 黄色片视频网 | 激情五月婷婷小说 | 特级毛片全部免费播放免下载 | 亚洲激情成人网 | 精品久久久一二三区 | 伊人久在线观看视频 | 国产一卡2卡3卡4卡网站免费 | 国产精品福利影院 | 日本不卡在线视频高清免费 | 91尤物国产尤物福利 | 性xxxxbbbb免费播放视频 | 水蜜桃视频在线播放下载 | www.91成人| 欧美色欧美亚洲高清图片 | 一级aaaaa毛片免费视频 | 国产福利一区二区三区在线视频 | 泷泽罗拉 快播 | 傲慢与偏见电影下载 | 欲妇荡岳丰满少妇岳A片 | 亚洲综合网国产精品一区 | 最新亚洲国产手机在线 | 色姑娘综合网久久 | 99精品国产免费久久久久久下载 | 内射丰满高大五十五岁熟女 | 欧美日韩不卡中文字幕在线 | 神兵小将第一季 | 亚洲AV无码乱码A片无码18禁 | 日本无码毛片一区二区手机看 | 国产91中文 | 真人做爰直播 试看 | 色综合婷婷 | 久久草视频 | 精品人妻无码一区二区三区下一页 | 精品婷婷乱码久久久久久日日 | 高清波多野结衣一区二区三区 | 中文字幕日本无码少妇 | 成人精品AV一区二区三区网站 | 欧美色图片区 | 免费黃色大片 | 日本三级在线观影 | 亚洲另类欧美日本 | 成人午夜精品视频在线观看 | 在线看免费观看AV深夜影院 | 日本人强伦姧人妻A片 | 国产又黄又猛又粗又爽的A片动漫 | 亚洲乱妇老熟女爽到高潮的片 | 日韩毛片免费线上观看 | 涩涩看片 | 精品一卡二卡三卡四卡视频区 | 国产精品久久久久免费视频 | 日韩一区二区三区在线播放 | 久久免费观看视频 | 体育生爽擼又大又粗的雞巴的动漫 | 麻豆精品国产精华精华液好用吗 | 日韩精品视频美在线精品视频 | 把娇妻借给朋友泄欲4 | 亚洲综合色在线视频久 | 欧美一级网站 | 好爽毛片一区二区三区色欲 | 女主播直播大尺度视频获刑 | 精品熟女少妇AV久久免费A片 | 最近韩国动漫免费观看视频 | 国产综合欧美区在线 | 清纯女高中生沦陷H公交车 清纯校花挨脔日常H惩罚视频 | 91成人午夜在线精品 | 精品人妻无码一区二区三区淑枝 | 亚洲第九十九页 | 国产福利在线观看免费第一福利 | 亚洲天天在线日亚洲洲精 | 四虎影视永久在线观看 | 97无码欧美熟妇人妻蜜桃天美 | 甜性涩爱下载地址 | 少妇人妻AV毛片在线看 | 国产在线一区二区 | 国产国产成人精品久久 | 成年女人免费播放影院 | 99国产精品高清一区二区二区 | 欧美三级裸露720P | 找国产毛片看 | 黄色三级毛片 | 国产精品理论片 | 国产女同一区二区三区五区 | 久99热| 男女阳茎牲交32动态图片免费 | 性夜影院午夜看片 | 国产另类ts人妖一区二区 | 小片网 | 把腿张开老子臊烂你多P视频软件 | 免费国产凹凸在线视频 | 四虎永久地址WWW成人免费 | 欧美日韩高清不卡一区二区三区 | 国产四虎精品8848hh | 国产高清片 | 色婷婷欧美在线播放内射 | 久久好在线视频 | A片又大又粗又爽免费视频 A片做爰片仑理片免费看 | 国产午夜精品久久久久 | 波多野结衣国产一区 | a亚洲欧美中文日韩在线v日本 | 天堂va在线 | 少妇A片出轨人妻偷人视频 少妇高清性色生活片成人版 | 在线观看的免费视频网站 | 亚洲精品一区二区三区四区久久 | 国产色婷婷亚洲99精品 | 精品无人区乱码一区二区三区手机 | 国产一卡2卡3卡四卡国色天香 | 国产精品久久久久免费视频 | 手机播放一卡二卡三在线观看 | 九九免费精品视频 | 精品国产福利一区二区在线 | 日本无码MV免费视频在线 | 中日韩AV亚洲高潮无码 | 免费麻豆文化传媒 | 国产高清视频免费最新在线 | 97色情在线观看免费高清 | 午夜日本| 国内精品久久国产大陆 | 国产精品久久福利网站 | 欧美性爱 成人 | 国产午夜婷婷精品无码A片 国产午夜视频在线观看 | 日韩欧美一区二区无码免费 | 国99久9在线 | 免费 | 日本无码蜜桃波多野结衣 | nu77亚洲综合日韩精品 | 边做边爱完整版免费视频播放视频 | 国产精品久久久久影院 | 国产亚洲精品第一区香蕉 | 出差被公添到高潮A片视频 厨房少妇人妻好深太紧了 纯肉1女多n男全文阅读 | 免费黄色电影网 | 国精品午夜不卡福利 | 国产一级一片免费播放i | 撸撸在线 | 亚洲一区AV在线观看红楼梦 | 国自产拍偷拍精品啪啪色 | 中文字幕精品无码一区二区 | 无图 亚洲 欧美 偷拍 | 国产日韩欧美一区二区三区综合 | 欧洲精品不卡1卡2卡三卡 | 香港三级韩国三级日本三级 | 亚洲中文国产最新在线观看 | 欧美日韩a级片 | jiucao视频在线观看 | 欧美精品成人久久网站 | 流氓软件app免费下载大全下载 | 久久精品99国产精品日本 | 樱花草视频在线观看免费高清WWW | 色吊丝永久性观看网站 | 波多野结衣一区二区三区在线观看 | 国产精品久久久久久久久久久久 | 99久久精品免费看国产 | 2020国产精品久久久久 | 奇米影视一区 | 亚洲国产成人精品动漫 | 阿娇艳Z门照片无码AV4I | 黄网站在线观看高清免费 | 丝袜诱惑在线 | 久久精品国产免费播放 | 全古装一级毛片大全 | 日产中文字乱码卡二 | 亚洲影视网 | 久久综合久久鬼色 | 久久综合九色欧美综合狠狠 | 字幕中文字幕 | 国产成人亚洲精品影院 | 亚洲AV无码A片一区二区三区 | 久久精品视频在线看4 | 黄色片网站视频 | 麻豆高潮AV久久久久久久 | 狠狠撸干性图片 | 99视频30精品视频在线观看23245 99视频免视看 | 国内精品久久久久鸭 | 中文字AV字幕在线观看 | 欧美一二三区视频 | 精品久久久爽爽久久久AV | ofozy99国产| 日本视频二区 | 久久99精品久久久久久久野外 | 中文字幕在线观看不卡 | 久久综合九色综合97免费下载 | 亚洲熟妇无码乱子AV电影 | 国产毛片不卡 | 满天星电影在线观看完整免费 | 久久这里只有热精品18 | 免费网站在线观看人数在哪网站 | 诱含整夜不拔h1v1 | 亚洲国产激情一区二区三区 | 国产单亲乱子伦视频 | 在线视频观看国产 | 日韩免费毛片视频 | 九九在线观看精品视频6 | 日韩视频 中文字幕 视频一区 | 黑人粗长大战亚洲女 | 国产熟女系列丰满熟妇 | 色播亚洲 | 国产一级理论免费版 | 久久久久久一级毛片免费无遮挡 | 亚洲欧美自拍色综合图 | 久久精品国产久精国产果冻传媒 | 久久厕所精品国产精品亚洲 | 女人被弄到高潮叫床免 | 麻豆最新免费版 | 五月婷婷亚洲综合 | 亚洲天天一色综合AV | 欧美卡1卡2卡三卡四免费 | 国产aaaaa一级毛片 | 四虎影视免费在线 | 精品卡一卡二卡三国色天香 | 日本tv欧美tv天堂 | 日本无码熟妇人妻在线视频免费看 | 在线色网址 | 国产一级做a爱免费观看 | 一区二区国产在线播放 | 国产成+人欧美+综合在线观看 | 我的公把我弄高潮了视频 | 朱竹清把我夹得又紧又爽 | 一区二区三区国产 | 夜夜操狠狠干 | 日韩人妻熟女中文字幕 | 久久精品亚洲热综合一本 | 亲胸揉胸膜下刺激视频午夜小说 | 可以免费观看的电影网 | 亚洲AV久久无码精品影视 | 放荡乱h伦文粗大hhh高潮 | 岳的下面好紧好爽视频 | 大陆精品福利网址导航在线 | 99国产精品久久久久久久久久久 | 欧美大幼| 日本aⅴ网站 | 国产素人自拍 | 免费 高清 日本社区 | 国产精人妻无码一区麻豆 | 欧美成人se01短视频在线看 | 天天干天天插天天操 | 亚洲精品女同中文字幕在线 | 翁吻乳婷婷小玲21 | 午夜婷婷精品午夜无码A片影院 | 乱肉合集乱500篇小说书架下载TXT | 成人欧美日韩视频一区 | 成人黄网18免费观看的网站 | 国产三级精品三级国产 | 高清二区 | 美女扒开下面让男生桶白浆 | 成人a毛片免费视频观看 | 婷婷激情五月AV在线观看 | 欧美日韩视频一区二区在线观看 | 草cl2016最新地址入口 | 老司机精品福利在线资源 | 欧美日日射 | 黄网在线免费观看 | 天天爱天天色 | 午夜时刻免费入口 | 色哟哟在线观看免费高清大全 | 国产精品夜夜春夜夜爽久久小说 | A片色情内射无码久久 | 狠狠搜| 久久久WWW免费人成精品 | 欧美日韩国产综合在线小说 | 国产福利小视频在线播放观看 | 影音先锋中文AV资源网 | 色网站视频 | 一级毛片特级毛片黄毛片 | 丁香社区小说 | 黄色成人在线播放 | 黄网站免费线观看免费 | 刮伦欲罢不能 | 91se在线视频 | 日本中文字字幕乱码电影直播 | 欧美日本免费 | 一区二区三区视频在线观看 | 久久精品老熟女人妻毛片 | 成人色网站大全 | 日韩在线aⅴ免费视频 | 色丁香久久 | 性猛交xxxx乱大交孕妇 | 国产色XX群视频射精 | 久久精品国产日本波多麻结衣 | 色网址导航大全 | 欧美区在线 | 噜啊噜色在线观看视频 | 国内精品偷拍在线观看 | 野花社区WWW三 | 亚洲最大日夜无码中文字幕 | 色婷婷国产熟妇人妻露脸AV | 日本红怡院亚洲红怡院最新 | 激情综合在线观看 | 午夜操操 | A片人澡C片人人妻 | 国产在线观看清码视频 | 2021国产精品一卡2卡三卡4卡 | 伊人大香人妻在线播放 | 国产精品xxxav免费视频 | 伊人婷婷涩六月丁香七月 | 色哟哟精品网站在线观看 | 亚洲精品卡一卡三卡四卡乱码 | 日本欧美大码aⅴ在线播放 日本欧美不卡一区二区三区在线 | 黄网址免费 | 国产妇女乱一性一交 | 免费播放一区二区三区 | 一夲道DVD高清无码 一边摸一边叫床一边爽 | 欧美精品一区二区在线观看 | 无毒成人网站网址 | 人妻夜夜爽天天爽三区麻豆AV网站 | 2024国产大片天天看 | 亚洲欧美一区二区三区久本道 | 日韩精选| 国产中文字幕久久 | 成人亚洲精品久久久久软件 | 91精品久久久久久久久久 | 粉嫩AV国产一区二区三区 | 中国国产成人精品久久 | 91久久精品国产亚洲 | 久久宗合色| 亚洲区中文字幕 | 苍井空三点快播 | 日本精品无码特级毛片 | 久99视频| 2022国产91精品久久久久久 | www.毛片| 亚洲欭美日韩颜射在线二 | 四虎影视永久无码精品 | 国产人妻久久久精品麻豆 | 欧美国产一区二区三区激情无套 | 一个人在线观看的免费视频www | 欧美乱妇日本无乱码特黄大片 | 少妇做爰喷水高潮呻吟A片免费 | 粗好大用力好深快点漫画 | 国产美女在线一区二区三区 | 丰满熟妇啪啪区日韩久久 | 黄视频入口 | 黄色特级一级片 | 大JI巴放进女人免费视频 | 国产精品久久久久久久久久 | 四个人弄我一个要坏掉的 | 91色老久久精品偷偷蜜臀 | 一级欧美一级日韩片 | 波多野结衣全部系列在线观看 | 最新精品国偷自产在线69 | 伊人久在线观看视频 | 日韩成人免费视频播放 | 久久好看视频 | 99视频这里只有精品国产 | 久久久久女人精品毛片九一 | 精品国产自在现线拍一本 | 日韩深夜视频 | 8x华人永久 | 中文字幕在线看 | 在线毛片一区二区不卡视频 | 国产福利酱国产一区二区 | 久久精品人妻无码一区二区三区盗 | 强摸秘书人妻大乳BD | 国产中文字幕在线免费观看 | 3及网站| 黄色网址app| 日韩免费精品视频 | 天天躁夜夜躁狠狠夜夜 | 黄色网页在线看 | 手机播放一卡二卡三在线观看 | 夜夜艹日日干 | 日本特爽特黄特刺激大片 | 三级在线看中文字幕完整版 | 女人18毛片久久 | 欧洲成人在线观看 | 97免费在线视频 | 朱可娃传| 日韩2区 | 亚洲一区二区三区高清网 | 青草青草久热精品视频在线观看 | 欧美日本道免费一区二区三区 | 波多野结衣久久精品免费播放 | 亚洲 日本 中文字幕 制服 | 少妇被粗大的猛烈进岀A片 少妇被下春药玩弄A片 | 日本不卡免费视频新二区 | 天堂tv亚洲tv日本tv欧洲 | 亚洲精品18p | 麻花传媒MV一二三区别在哪里看 | 亚洲精品久久99蜜芽尤物TV | 亚洲A片无码一区二区三区公司 | 肉小说污肉 | 色综合久久精品亚洲国产消防 | 国产精品1卡二卡三卡四卡乱码 | A片女女女女女女BBBB | 老司机精品视频线观看86 | 色老头xxxwww作爱视频 | 乱码丰满人妻一二三区 | 国产丰满老熟妇乱XXX | 活大器粗NP高H一女多夫 | 亚洲激情网站 | 无码又爽又刺激视频A片涩涩 | 免费毛片网| 波多野结衣一区在线 | 菠萝蜜国际一区麻豆 | 2017最新高清无码网站 | 婷婷色 | 国产成人精品男人免费 | 成 人 a v黄 色 | 久久久擼擼擼麻豆 | 欧美一卡2卡3卡四卡海外精品 | 美女性爽视频国产免费 | 强壮公次次弄得我好爽A片小说 | 欧美视频在线播放bbxxx | 日韩免费视频 | 久久66热人妻偷产国产 | 精品无码一区二区三区蜜桃 | 久久久久香蕉 | 97蜜桃网站| 一区二区三区毛A片特级 | 性一交一乱一A片 | 久久只这里是精品66 | 四虎影在永久在线观看 | 国产成人片 | 奇米一区二区 | 国产欧美三级 | 麻豆国产一卡二卡三卡不卡 | 亚洲精品成人AA片在线播 | 精品一区二区三区五区六区 | 丁香花在线观看视频在线 | 成人AV综合在线网站 | 成人国产精品 | 麻豆果冻传媒2024精品传媒一区下载 |