久久精品国产精品国产精品污,男人扒开添女人下部免费视频,一级国产69式性姿势免费视频,夜鲁夜鲁很鲁在线视频 视频,欧美丰满少妇一区二区三区,国产偷国产偷亚洲高清人乐享,中文 在线 日韩 亚洲 欧美,熟妇人妻无乱码中文字幕真矢织江,一区二区三区人妻制服国产

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

【数据结构】【期末复习】知识点总结

發布時間:2024/1/18 编程问答 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【数据结构】【期末复习】知识点总结 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

——算法、線性表——

概念明晰:隨機存取、順序存取、隨機存儲和順序存儲

隨機存取、順序存取、隨機存儲和順序存儲這四個概念是完全不一樣的,切不可將之混淆

很多人包括我可能認為隨機存取就是隨機存儲,順序存取就是順序存取,其實不是這樣。

下面完整的介紹一下這4個概念

1、存結構

分為隨機存取和非隨機存取(又稱順序存取)

1、隨機存取就是直接存取,可以通過下標直接訪問的那種數據結構,與存儲位置無關。例如數組。

? 非隨機存取就是順序存取,不能通過下標訪問了,只能按照存儲順序存取,與存儲位置有關,例如鏈表。

2、順序存取就是存取第N個數據時,必須先訪問前(N-1)個數據 (list);

? 隨機存取就是存取第N個數據時,不需要訪問前(N-1)個數據,直接就可以對第N個數據操作 (array)。

2、存結構

分為順序存儲和隨機存儲

3、順序存儲結構

  • 在計算機中用一組地址連續的存儲單元依次存儲線性表的各個數據元素,稱作線性表的順序存儲結構。

    - 順序存儲結構是存儲結構類型中的一種,該結構是把**邏輯上相鄰的節點**存儲在**物理位置上相鄰的存儲單元**中,結點之間的邏輯關系由存儲單元的鄰接關系來體現。 - 由此得到的儲結構為順序存儲結構,通常順序存儲結構是借助于計算機程序設計語言(例如c/c++)的數組來描述的。

? – 主要優點:節省存儲空間。

? 因為分配給數據的存儲單元全用存放結點的數據(不考慮c/c++語言中數組需指定大小的情況),結點之間的邏輯關系沒有占用額外的存儲空間。采用這種方法時,可實現對結點的隨機存取,即每一個結點對應一個序號,由該序號可以直接計算出來結點的存儲地址

? – 主要缺點:不便于修改,對結點的插入、刪除運算時可能要移動一系列的結點。

4、隨機存儲結構

在計算機中用一組任意的存儲單元存儲線性表的數據元素(這組存儲單元可以是連續的,也可以是不連續的)。它不要求邏輯上相鄰的元素在物理位置上也相鄰。因此它沒有順序存儲結構所具有的弱點,但也同時失去了順序表可隨機存取的優點。

? --隨機存儲最典型的代表為鏈式存儲:

鏈式存儲結構特點

1、比順序存儲結構的存儲密度小 (每個節點都由數據域和指針域組成,所以相同空間內假設全存滿的話順序比鏈式存儲更多)。

2、邏輯上相鄰的節點物理上不必相鄰。

3、插入、刪除靈活 (不必移動節點,只要改變節點中的指針)。

4、查找結點時鏈式存儲要比順序存儲慢。

5、每個結點是由數據域和指針域組成

一、數據結構的概念

1、基本概念:

  • 數據:描述客觀事實的符號,是計算機中可以操作的對象,能被計算機識別,并輸給計算機處理的符號集合。
  • 數據元素:是組成數據的、有一定意義的基本單位,在計算機中通常作為整體處理,也被成為記錄。
  • 數據對象:是性質相同數據元素的集合,是數據的一個子集。
  • 數據項:一個數據元素可以由若干個數據項組成,數據項是數據不可分割的最小單位。
  • 數據結構:相互之間存在一種或者多種特定關系的數據元素的集合。可分為邏輯結構和物理結構。

2、算法

(1)概念

解決特定問題的求解步驟的一種描述,它是指令的有限序列,其中的每條指令表示一個或多個操作。

(2)重要特性:

①輸入:有零個輸入或者多個輸

②輸出:只有一個或者多個輸出

③有窮性:算法在執行有限個步驟時,會自動結束而不會陷入無限循環里面

④確定性:算法的每一步都有確定的含義而不會出現二義性

⑤可行性:算法的每一步都可以通過有限次數完成。

3、算法的評價標準(“好”的算法應該考慮達到以下目標)

①正確性。算法能夠正確地求解問題。

②可讀性。算法能具有良好的可讀性,以幫助人們理解。

③健壯性。輸入非法數據時,算法能適當地做出反應或進行處理。而不會產生莫名其妙的輸出結果。

④效率與低存儲量需求。效率指算法執行的時間,存儲量需求是指算法執行過程中所需的最大存儲空間。

4、算法的時空效率

(1)時間復雜度
根據算法寫成的程序在執行時耗費時間的長度,記為T(n) = O(n)
(2)空間復雜度
根據算法寫成的程序在執行時占用存儲單元的長度記為S(n)
(3)語句頻度
一個算法中的語句執行次數稱為語句頻度或時間頻度,記為T(n)

時間復雜度:時間復雜度實際上是一個函數,代表基本操作重復執行的次數,進而分析函數雖變量的變化來確定數量級,數量級用O表示,所以算法的時間復雜度為: T(n)=O(f(n))

在一個算法存在最好、平均、最壞三種情況,我們一般關注的是最壞情況,原因是,最壞情況是任何輸入實例在運行時間的上界,對于某些算法來說,最壞情況出現的比較頻繁,從大體上來看,平均情況和最壞情況一樣差。

(4)一般O(n)的計算方法:

①用 1代替所有運行時間中出現的加法常數

②在修改后的運行函數中**保留最高階的項;

③如果最高階項系數不是1,則去除這個項系數。

遞歸算法的時間復雜度為:遞歸總次數每次遞歸中基本操作執行的次數。

(5)常見的時間復雜度有以下七種:

① O(1)常數型;② O(log2N)對數型;③ O(N)線性型;④ O(Nlog2N)二維型;⑤ O(N^2)平方型;⑥ O(N^3)立方型;⑦ O(2^N)指數型。

例如:

i=1;while (i<=n) {i=i*2;} 解:語句1的頻度是1, 設語句2的頻度是f(n),則:2^f(n)<=n;f(n)<=log2n 取最大值f(n)= log2n, T(n)=O(log2n )

二、線性表

1、順序存儲

(1)結構體的定義

typedef int Position; typedef struct LNode * PtrToLNode; struct LNode {ElmenetType Data[ MAXSIZE ];Position Last; }; typedef PtrToLNode List;

(2)順序表的初始化

1、構造一個空表

2、動態分配表結構所需的存儲空間,然后將表中Last指針置為-1 表示表中沒有數據。

List MakeEmpty() {List L; L = (List)malloc(sizeof(struct LNode));L->Last = -1; //Last 置為-1 表示表中沒有數據元素Return L; }
  • 通過L我們可以訪問相應線性表的內容。比如:下標為i 的元素:L->Data[i]

  • 查詢線性表的長度:L->Last+1;

(3)順序表的查找(時間復雜度為O(n))

在線性表中查找與給定值 X 相等的數據元素。

由于線性表的元素都存儲在數組Data中,所以這個查找的過程實際上就是在數組里順序查找

  • 第 1 個元素 a1 起依次和 X 比較, 直到找到一個與 X 相等的數據元素,返回它在順序表中的存儲下標
  • 或者查遍整個表沒有找到與 X 相等的元素,則返回錯誤信息 ERROR
#define ERROR -1 /* 將錯誤信息 ERROR 的值定義為任一負數都可以 */ Position Find( List L, ElementType X ) {Position i = 0;While( i <= L->Last && L->Data[i] != X)i++;if( i > L->Last)return ERROR; /* 如果沒有找到,則返回錯誤信息 */elsereturn i; /* 找到后返回的是存儲位置 */ }

(4)順序表的插入 (時間復雜度為O(n))

在表的插入是指在表的第 i(1≤ i ≤ n + 1)個位序上插入一個值為 X 的新元素(也可以理解為在第 i 個元素之前插入新的元素)

插入后使得原來長度為 n 的序列,變為長度為 n+1的序列(i = 1時插入序列的最前端,i = n+1 時插入序列的最后)

  • 將ai~an順序向后移動(移動次序是從 an 到ai),為新元素讓出位置
  • 將 X 放入空出的第 i 個位序
  • 修改 Last 指針(相當于修改表長),使之指向最后一個元素
bool Insert( List L, ElementType X, int i) { /* 在 L 的指定位序 i 前插入一個新元素 X; 位序 i 元素數組位置下標為 i-1 */Postion j;if(L->Last == MAXSIZE-1){/* 表空間已滿,不能插入 */printf("表滿!\n");return false;}if( i<1 || i > L->Last+2){/* 檢查插入位序的合法性:是否在 1~n+1; n為當前元素個數,即Last+1 */printf("位序不合法!\n");return false;}for( j = L->Last; j >= i-1; j--) /*Last 指向序列最后元素an */L->Data[j+1] = L->Data[j]; /* 將位序為 i 及以后的元素順序向后移動 */L->Data[i-1] = X; /* Last 仍指向最后一個元素 */L->Last++;return true; }

(5)順序表的刪除(時間復雜度為O(n))

將表中的位序為 i(1≤ i ≤ n + 1)的元素從線性表中去掉,刪除后使原長度為 n 的數組元素序列,變為長度為 n-1 的序列

  • 將a[i+1]~a[n] 順序向前移動 ,a[i] 元素被a[i+1]覆蓋;

  • 修改 Last 指針(相當于修改表長)使之仍指向最后一個元素

bool Delete(List L, int i) { /*從 L 中刪除指定位序 i 的元素,該元素數組下標為 i-1*/Position j;if(i < 1 || i > L->Last + 1)/* 檢查空表及刪除位序的合法性*/ {printf("位序%d不存在元素",i);return false;} for( j = i; i <= L->Last; j++)L->Data[j-1] = L->Data[j];/*將位序 i+1 及以后的元素順序向前移動*/ L->Last--;/*Last 仍指向最后元素*/ return true; }

2、鏈表存儲

(1)結構體的定義(時間復雜度為O(n))
typedef struct LNode * PtrToLNode; struct LNode {ElementType Data;PtrToLNode Next; }; typedef PtrToLNode Position; /*這里的位置是結點的地址 */ typedef PreToLNode List;
(2)求表長(時間復雜度為O(n))

順序存儲中求表長是很容易的,直接返回 Last+1 就可以了。但在鏈式存儲中,需要將鏈表從頭到尾遍歷一遍

  • 設一個移動指針p和計數器cnt,初始化后,p從表的第 1 個結點開始逐步往后移,同時計數器 cnt+1.
  • 當后面不再有結點時,cnt 的值就是結點個數,即 表長。

int Length(List L) {//默認該鏈表是有頭結點的 Position p;int i=0; /* 初始化計數器 *///單向鏈表的遍歷(三部曲)p = L->next; /* p指向表的第 1 個結點 */while(p){ /* 遍歷單鏈表,統計結點數 */ p=p->next; i++; } return i; }
(3)判空
int ListEmpty(LinkList L) { //若 L 為空,則返回1,否側返回 0if(L->Next) //非空return 0;elsereturn 1; }
(4)查找(時間復雜度為O(n))

有兩種 按序號查找(FindKth)和 按值查找(Find)

①按序號查找 FindKth(時間復雜度為O(n))

對于順序存儲,按序號查找是很直接的事情,要得到第 K 個元素的值,直接取L->Data[K-1]即可

但是對于鏈式存儲則需要采用跟求表長類似的思路

  • 從鏈表的第 1 個元素結點起,判斷當前結點是否是第 K 個
  • ,則返回該結點的值,則繼續對比后一個,直到表結束為止
  • 如果沒有第 K 個結點則返回錯誤信息
#define ERROR -1 /* 一般定義為表中元素不可能取到的值 */ElementType FindKth(List L, int K) { /* 根據指定的位序 K, 返回 L 中相應的元素 */Position P;int cnt = 1; /* 位序從 1 開始 */p = L; /* p 指向 L的第 1 個結點 */while(p && cnt < K){p = p->next;cnt++} if((cnt == K) && p)return p->Data; /* 返回第 K 個 */elsereturn ERROR; /* 否則返回錯誤信息 */ }
②按值查找,即定位 Find(時間復雜度為O(n))

基本方法:也是從頭到尾遍歷,直到找到為止:

  • 從鏈表的第 1 個元素結點起,判斷當前結點的值是否等于 X
  • 返回該結點的位置則繼續對比后一個,直到表結束位置為止
  • 找不到時返回錯誤信息
#define ERROR NULL /*空地址表示錯誤 */Position Find( List L, ElementType X) {Position p = L;/* p指向 L 的第 1 個元素 */while(p && p->Data != x){p = p->Next;}if(p)return p;elsereturn ERROR; }
(5)鏈表的插入(時間復雜度為O(n))

int ListInsert_L(LinkList &L, int i,ElementType e) {p = L;j = 0;while(p&& j<i-1){//尋找第 i-1 個結點p = p->next;++=j;}if(!p || j > i-1)return ERROR;//s = (LinkList)malloc(sizeof(LNode));//生成新結點ss->data = e; //將結點s 的數據域的值 更新為 es->next = p->next; //將結點s 插入 L 中p->next = s;return OK; }
(6)創建鏈表(時間復雜度為O(n))
1、帶頭結點的【頭插法】(時間復雜度為O(n))

/* 帶頭結點的插入創建 */ void createListHead( Linklist L, int n ) { //建立頭結點L = (LNode*)malloc(sizeof(struct LNode));L->Next = NULL;//建立單鏈表(頭插法)LNode *temp = NULL;//申請空間,寫入數據for(int i = 0; i < n; i++){tmp = (LNode*)malloc(sizeof(struct LNode)); /* 申請、填裝結點 */scanf("%d",&tmp->Data);//輸入元素值//插入到頭結點的后面tmp->Next = L->Next; L->Next = tmp; } }
2、帶尾結點的插入【尾插法】(時間復雜度為O(n))
/*帶尾結點的插入*/ void CreateList_L( Listlist &L, int n ) { //正位序數輸入 n 個元素的值,建立帶表頭結點的單鏈表L//建立頭結點L = (LNode*)malloc(sizeof(struct LNode));L->Next = NULL;//建立單鏈表(尾插法)LNode r = L; //尾指針指向頭結點//申請空間,寫入數據for(int i = 0;i < n; i++){LNode *tmp = (LNode*)malloc(sizeof(struct LNode)); /* 申請新結點 */scanf("%d",&tmp->Data); //輸入元素tmp->Next = NULL;//插入到尾結點后面r->next = temp; r = tmp; //r指向新的尾結點} }
(7)刪除(時間復雜度為O(n))

//將線性表L 中第 i 個數據元素刪除 int ListDelete_L(LinkList &L, int i, ElementType &e) {p=L;int j=0;while(p->next && j < i-1){//尋找第 i 個結點,并令p指向其前驅p = p>next;++j;}if(!(p->next)||j < i-1)return ERROR;//刪除位置不合理q = p->next; //臨時保存被刪除結點的地址以備釋放p->next = q->next; //改變被除結點的驅結點的指針域e = q->data; //保存被刪除結點的數據域free(q); //釋放被刪除結點的空間return OK; }

3、二者時間復雜度和優缺點的比較

1、兩者復雜度比較

查找插入刪除
順序表O(1)O(1)O(n)通過下標直接找到待操作元素,主要時間花在移動元素上。
鏈表O(n)O(n)主要時間用于找到插入元素的位置O(n)主要時間用于找到待刪除元素的位置

2、兩者優缺點比較

數組優點缺點
隨機訪問性強;查找速度快插入和刪除效率低;可能浪費內存;內存空間要求高,必須有足夠的連續內存空間;數組大小固定,不能動態拓展
鏈表優點缺點
插入刪除速度快;內存利用率高,不會浪費內存;大小沒有固定,拓展很靈活。不能隨機查找,必須從第一個開始遍歷,查找效率低

兩者的區別在于順序結構的要求一片連續的存儲空間,而鏈式結構的不要求存儲空間連續。

三、棧

1、棧的順序存儲實現

通常由一個一維數組和一個記錄棧頂元素位置的變量組成。

(1)順序棧結構體的定義

當 Top = -1時,表示棧空;當Top = MaxSize -1 時,棧滿!

typedef int Position; typedef int ElementType; typedef struct SNode *PtrToNode; struct SNode {ElementType * Data; /*存儲元素的數組*/Position Top; /*棧頂指針*/int MaxSize; /*堆棧最大容量*/ }; typedef PtrToNode Stack;

(2)順序棧的創建

Stack CreateStack(int MaxSize) /*順序棧的創建*/ {Stack S = (Stack)malloc(sizeof(struct SNode));S->Data = (ElementType *)malloc(MaxSize * sizeof(ElementType));S->Top = -1; /*"-1"表示空棧 "MaxSize-1"表示滿棧*/ S->MaxSize = MaxSize; /*指定棧的最大容量*/ return S; }

(3)判滿

bool IsFull(Stack S) /*判斷棧是否滿了*/ {return(S->Top == S->MaxSize-1); }

(4)判空

bool IsEmpty(Stack S) /*判斷堆棧是否為空*/ {return(S->Top == -1); }

(5)入棧

在執行堆棧 Push 操作時,先判斷棧是否滿;

  • 若不滿,Top 加1,并將新元素放入 Data數組的Top位置上
  • 若滿,則返回錯誤標志
bool Push(Stack S, ElementType X) /*順序棧的 入棧 操作*/ { if(IsFull(S)) {printf("堆棧滿!");return false;}else{S->Data[++(S->Top)] = X; /*若是棧不滿,則Top加 1,并將新元素放入Data數組的Top位置中*/ return true;} }

(6)出棧

執行Pop操作時,首先判別棧是否為空;

  • 若不為空,返回Data[Top],同時將Top-1;
  • 否則要返回錯誤標志
ElementType Pop(Stack S) /*順序棧 的 出棧 操作*/ {if(IsEmpty(S)) {printf("堆棧空!");return ERROR; /*ERROR 是 ElementType 類型的特殊值,標志錯誤。必須是正常棧元素數據不可能取到的值 */ }elsereturn(S->Data[(S->Top)--]); /*若不空,返回Data[Top],同時將Top減 1*/ }

2、棧的順序存儲實現

鏈棧與單鏈表類似,但其操作受限制,插入和刪除操作只能在鏈棧的棧頂進行。

(1)順序棧結構體的定義

typedef struct SNode *PtrToSNode; typedef int ElementType; struct SNode {ElementType Data;PtrToSNode Next; }; typedef PtrToSNode Stack;

(2)順序棧的創建

Stack CreateStack() { /*構建一個堆棧的頭結點,返回該結點指針*/ Stack S;S = (Stack)malloc(sizeof(struct SNode));S->Next = NULL;return S; }

(3)判空

bool IsEmpty(Stack S) { /*判斷堆棧 S 是否為空,若是返回 true,否則返回 false*/ return(S->Next == NULL); }

(4)判滿 注意:鏈棧,不必判斷堆棧是否滿

(5)入棧

鏈棧,不必判斷堆棧是否滿

bool Push(Stack S, ElementType X) { /*將元素 X 壓入堆棧 S */ PtrToSNode TmpCell;TmpCell = (PtrToSNode)malloc(sizeof(struct SNode));TmpCell->Data = X;//頭插法TmpCell->Next = S->Next;S->Next =TmpCell;return true; }

(6)出棧

ElementType Pop(Stack S) ElementType Pop(Stack S) { /*刪除并返回堆棧 S 的棧頂元素*/ PtrToSNode FirstCell;ElementType TopElem;if(IsEmpty(S)){printf("堆棧空!");return ERROR;}else{FirstCell = S->Next;TopElem = FirstCell->Data;S->Next = FirstCell->Next;free(FirstCell);return TopElem; } }/*順序棧 的 出棧 操作*/ {if(IsEmpty(S)) {printf("堆棧空!");return ERROR; /*ERROR 是 ElementType 類型的特殊值,標志錯誤。必須是正常棧元素數據不可能取到的值 */ }elsereturn(S->Data[(S->Top)--]); /*若不空,返回Data[Top],同時將Top減 1*/ }

3、棧的應用

四、隊列

1、隊列的順序存儲實現

(1) 循環隊列的結構體定義

typedef int Status; typedef int QElemType; /* QElemType類型根據實際情況而定,這里假設為int */ /* 循環隊列的順序存儲結構 */ typedef struct QNode {QElemType data[MAXSIZE];int front; /* 頭指針 */int rear; /* 尾指針,若隊列不空,指向隊列尾元素的下一個位置 */ }SqQueue;

(2)生成空隊列

/* 初始化一個空隊列Q */ Status CreateQueue(SqQueue *Q) {SqQueue *Q = (SqQueue)malloc(sizeof(struct QNode));Q->data = (ElementType*)malloc(MaxSize * sizeof(ElementType));Q->front = Q->rear = 0;return OK; }

(3)判空

隊空的條件是:rear=front

bool IsEmpty(SqQueue *Q) {return(Q->front == Q->rear); }

(4)判滿

隊滿的條件是:(rear+1)%數組的長度等于 front

bool IsFull(SqQueue *Q) {return((Q->rear+1)% MaxSize == Q->front); }

(5)入隊

/* 若隊列未滿,則插入元素e為Q新的隊尾元素 */ Status EnQueue(SqQueue *Q,QElemType e) {if ((Q->rear+1)%MAXSIZE == Q->front) /* 隊列滿的判斷 */return ERROR;Q->data[Q->rear]=e; /* 將元素e賦值給隊尾 */Q->rear=(Q->rear+1)%MAXSIZE;/* rear指針向后移一位置, *//* 若到最后則轉到數組頭部 */return OK; }

(6)出隊

/* 若隊列不空,則刪除Q中隊頭元素,用e返回其值 */ Status DeQueue(SqQueue *Q,QElemType *e) {if (Q->front == Q->rear) /* 隊列空的判斷 */return ERROR;*e=Q->data[Q->front]; /* 將隊頭元素賦值給e */Q->front=(Q->front+1)%MAXSIZE; /* front指針向后移一位置, *//* 若到最后則轉到數組頭部 */return OK; }

2、隊列的鏈式存儲實現

隊列與堆棧一樣,也可以采用鏈式存儲結構,但隊列的頭(front)必須指向鏈表的頭結點,隊列的尾(rear)指向鏈表的尾結點。

(1)隊列的鏈式存儲結構體定義

typedef int Status; typedef int QElemType; /* QElemType類型根據實際情況而定,這里假設為int */ typedef struct QNode /* 結點結構 */ {QElemType data;struct QNode *next; }QNode,*QueuePtr;typedef struct /* 隊列的鏈表結構 */ {QueuePtr front,rear; /* 隊頭、隊尾指針 */ }LinkQueue;

(2)生成空隊列

/* 構造一個空隊列Q */ Status InitQueue(LinkQueue *Q) { Q->front=Q->rear=(QueuePtr)malloc(sizeof(QNode));if(!Q->front)exit(OVERFLOW);Q->front->next=NULL;return OK; }

(3)判空

隊空的條件是:rear=front

Status QueueEmpty(LinkQueue Q) { if(Q.front==Q.rear)return TRUE;elsereturn FALSE; }

(4)判滿 鏈式隊列,不必判斷堆棧是否滿

(5)入隊

/* 插入元素e為Q的新的隊尾元素 */ Status EnQueue(LinkQueue *Q,QElemType e) { QueuePtr s=(QueuePtr)malloc(sizeof(QNode));if(!s) /* 存儲分配失敗 */exit(OVERFLOW);s->data=e;s->next=NULL;Q->rear->next=s; /* 把擁有元素e的新結點s賦值給原隊尾結點的后繼,見圖中① */Q->rear=s; /* 把當前的s設置為隊尾結點,rear指向s,見圖中② */return OK; }

(6)出隊

/* 若隊列不空,刪除Q的隊頭元素,用e返回其值,并返回OK,否則返回ERROR */ Status DeQueue(LinkQueue *Q,QElemType *e) {QueuePtr p;if(Q->front==Q->rear)return ERROR;p=Q->front->next; /* 將欲刪除的隊頭結點暫存給p,見圖中① */*e=p->data; /* 將欲刪除的隊頭結點的值賦值給e */Q->front->next=p->next;/* 將原隊頭結點的后繼p->next賦值給頭結點后繼,見圖中② */if(Q->rear==p) /* 若隊頭就是隊尾,則刪除后將rear指向頭結點,見圖中③ */Q->rear=Q->front;free(p);return OK; }

五、棧和隊列操作的特點

相同點不同點
堆棧(FILO)只允許在端點處插入和刪除元素;棧是先進后出或者后進先出;棧是只能在表的一端進行插入和刪除操作的線性表
隊列(FIFO)只允許在端點處插入和刪除元素;隊列是先進先出;隊列是只能在表的一端進行插入,然后在另外一端進行刪除操作的線性表

六、數組存儲地址的計算

數組類型存儲地址的計算(a是數組首地址,len是每個數組元素所占長度)
一維數組a[i]的存儲地址:a+i*len
二維數組:a[m] [n]按行存儲:a+(i * n+j) * len;按列存儲:a+(j * m+i) * len

例子:數組存儲地址的計算示例:
1)已知一維數組a中每個元素占用2個字節,求a[10]的存儲地址?
答:a[10]的存儲地址為:a+10*2=a+20
2)已知二維數組a[4][5]中, 每個元素占用2個字節,求元素a[3][2]按行為主序存儲的存儲地址和按列為主序存儲的存儲地址?
答: 按行存儲:a+(35+2) *2 = a+34
按列存儲:a+(24+3) *2 = a+22

———————樹———————

一、二叉樹

1、定義

二叉樹是每個節點最多有兩個子樹的樹結構。

它有五種基本形態:

  • 二叉樹可以是空集;
  • 根可以有空的左子樹或右子樹;
  • 或者左、右子樹皆為空。

2、結點的度、孩子、雙親、深度、有序樹、無序樹、樹的高度

a.結點、葉子、樹的度

  • 結點的度:結點擁有的子樹的數目。
  • 葉子:度為零的結點。
  • 樹的度:樹中結點的最大的度

b.孩子、雙親、兄弟、子孫、祖先

  • 雙親:若一個結點有子樹,該結點稱為子樹根的"雙親"。
  • 孩子:子樹的根是該結點的"孩子"。
  • 兄弟:有相同雙親的結點互為"兄弟"。
  • 子孫:一個結點的所有子樹上的任何結點都是該結點的子孫。
  • 祖先:從根結點到某個結點的路徑上的所有結點都是該結點的祖先。

c.無序樹、有序樹、森林

  • 無序樹:如果樹中結點的各子樹之間的次序是無次序的,可以交換位置
  • 有序樹:如果樹中結點的各子樹之間的次序是有次序的, 不可以交換位置
  • 森林:0個或多個不相交的樹組成。對森林加上一個根,森林即成為樹;刪去根,樹即成為森林。

d.層次、高度

層次:根結點的層次為1,其余結點的層次等于該結點的雙親結點的層次加1。
樹的深度和高度:二叉樹中節點的最大層次稱為二叉樹的深度或高度。

2、性質

性質1:二叉樹第 i 層上最多為 2^(i-1) (i≥1)個結點。

性質2:深度為k的二叉樹至多有2^k - 1個結點(k≥1)。

性質3:具有n個結點的【完全二叉樹】的高度k為(log<2>n) +1)([log2n]表示不大于與其的整數

性質4:在任意一棵二叉樹中,若終端結點的個數為n0,度為2的結點數為n2,則n0=n2+1。

性質5:如果對一棵有 n個結點的完全二叉樹(其深度為(log<2>n) +1)的結點按 【層序】編號(從第1層到第(log<2>n) +1) 層,每層從左到右),對任一結點 i (1≤ i ≤ n)有:

  • 如果 i = 1,則結點 i是二叉樹的根,無雙親;如果 i > 1,則其雙親是結點 [i/2];
  • 如果2i >n,則結點 i 無左孩子(即結點 i 為葉子結點);否則其左孩子是結點 2i;
  • 如果 2i+1 >n,則結點 i 無右孩子;否則其右孩子是結點 2i+1。

3、滿二叉樹、完全二叉樹和二叉排序樹

a.滿二叉樹

定義:高度為h,并且由2{h} –1個結點的二叉樹,被稱為滿二叉樹。

b.完全二叉樹

定義:一棵二叉樹中,只有最下面兩層結點的度可以小于2,并且最下一層的葉結點集中在靠左的若干位置上。這樣的二叉樹稱為完全二叉樹。

特點:葉子結點只能出現在最下層和次下層,且最下層的葉子結點集中在樹的左部。顯然,一棵滿二叉樹必定是一棵完全二叉樹,而完全二叉樹未必是滿二叉樹。

c.二叉查找樹

定義:二叉查找樹(Binary Search Tree),又被稱為二叉搜索樹。左小右大,任意結點的左、右子樹也是二叉查找樹

在二叉查找樹中:
(01) 若任意節點的左子樹不空,則左子樹上所有結點的值均小于它的根結點的值;
(02) 任意節點的右子樹不空,則右子樹上所有結點的值均大于它的根結點的值;
(03) 任意節點的左、右子樹也分別為二叉查找樹。
(04) 沒有鍵值相等的節點(no duplicate nodes)。

二、靜態查找

1、順序存儲結構

指用一組地址連續的存儲單元依次自上而下、自左至右存儲完全二叉樹的結點元素,即將完全二叉樹上編號為i的結點元素存儲在一維數組下標i-1的分量中。

2、順序查找

從表的一端開始,逐個將記錄的關鍵字和給定值比較,若找到一個記錄的關鍵字與給定值相等,則查找成功;若整個表中記錄均比較過,仍未找到關鍵字等于給定值的記錄,則查找失敗。

缺點:查找表的長度越長,查找效率越低。

優點:簡單、適應面廣,對查找表結構沒有要求,對順序存儲和鏈式存儲都適用。

3、二分查找(也稱“折半查找”,是一棵“二叉排序樹”)

設查找表元素存儲在一維數組r[1,…,n]中,在表中的元素已經按關鍵字遞增方式排序的情況下,

進行[折半查找]的方法是:首先將待查元素的關鍵字(key)值與表r中間位置上(下標為mid)記錄的關鍵字關鍵字進行比較,

  • 若相等,則查找成功;
  • 若key>r[mid].key,則說明待查記錄只可能在后半個子表r[mid+1,…,n]中;
  • 若key<r[mid].key,則說明待查記錄只可能在前半個子表r[1,…,mid-1]中;

這樣逐步縮小范圍,直到查找成功子表為空時失敗為止。

注意:每次縮小范圍后,改變的下標是哪個

//遞增的方式排序,則折半查找的算法為 //在數組r[low...high],在數組r中找值為key的元素 int Bsearch(int r[],int low,int high,int key) {int mid;while(low <= high){mid = (low + high)/2;if(key == r[mid])return mid;else if(key < r[mid])high = mid-1;elselow = mid+1;}return -1; }//折半查找,遞歸算法 int Bsearch_rec(int r[],int low,int high,int key) {int mid;if(low <= high){mid = (low + high)/2;if(key == r[mid])return mid;else if(key < r[mid])return Bsearch_rec(r,low,mid-1,key);elsereturn Bsearch_rec(r,mid+1,high,key);}return -1; }

折半查找的過程可以用一顆二叉樹來描述,以當前查找區域間的中間位置序號作為根,左半個子表和右半個子表中的記錄序號分別分別作為根的左子樹和右子樹上的結點,這樣構造的二叉樹稱為折半查找判定樹,從樹上可以看出:

? 查找成功時,折半查找的過程恰好走了一條從根結點到被查找結點的路徑,與關鍵字進行比較的次數即為被查找結點在樹中的層數。因此,折半查找判定樹在查找成功時進行比較的關鍵字個數最多不超過樹的深度,而具有n個結點的判定樹的深度為;所以折半查找在查找成功時和給定值進行比較的關鍵字個數最多為。

優點:查找效率更高,但它要求查找表進行順序存儲并按關鍵字進行排序。
缺點:對表進行插入或刪除時,需要移動大量元素。
適用:表不易變動,且又經常進行查找的情況

4、二分查找判定樹ASL計算

折半查找的過程看,可用二叉樹來描述,二叉樹中的每個結點對應有序表中的一個記錄,結點中的值為該記錄在表中的位置。通常稱這個描述折半查找二叉樹的過程稱為折半查找判定樹。

例如:順序存儲的序列{1,2,3,4,5,6,7,8,9,10} 來構建二叉判定樹,計算其ASL

例如:長度為10的折半查找判定樹的具體生成過程:都遵循這個規律,左孩子結點<根結點<右孩子結點 【左小右大】(1)在長度為10的有序表中進行折半查找,不論查找哪個記錄,都必須和中間記錄進行比較,而中間記錄為 (1+10/2 =5 (注意要取整) 即判定數的的根結點為5,如圖7-2(a)所示。(2)考慮判定樹的左子樹,即將查找區域調整到左半區,此時的查找區間為[1,4],那么中間值為(1+4/2 =2 (注意要取整) ,所以做孩子根結點為2,如圖7-2(b)所示。(3)考慮判定樹的右子樹,即將查找區域調整到右半區,此時的查找區間為[6,10],那么中間值為(6+10/2 =8 (注意要取整) ,所以做孩子根結點為8,如圖7-2(c)所示。(4)重復以上步驟,依次去確定左右孩子、

特點

1.折半查找是一棵二叉排序樹,每個根結點的值都大于左子樹的所有結點的值,小于右子樹所有結點的值。

2.折半查找判定數中的結點都是查找成功的情況,將每個結點的空指針指向一個實際上不存在的結點————外結點,所有外界點都是查找不成功的情況,如圖7-2(e)所示。如果有序表的長度為n,則外結點一定有n+1個。

(1)查找成功的ASL

折半查找判定數中,某結點所在的層數就是即將要比較的次數,整個判定樹代表的有序表的平均查找長度即為查找每個結點的比較次數之和除以有序表的 長度。

ASL成功 = 每層結點所在高度×每層結點數 之和 除以 總結點數

例如:長度為10的有序表的平均查找長度為ASL=(1×1+2×2+3×4+4×3)/10=29/10;

(2)查找不成功的ASL

折半查找判定數中,查找不成功的次數即為查找相應外結點(定義在上方)與內結點的比較次數。整個判定樹代表的有序表的平均查找長度。查找失敗時的有序表的平均查找長度即為查找每個外結點的比較次數之和除以外結點的個數。

ASL失敗 = (每層【補上的】結點所在高度-1)×每層【補上的】結點數 之和 除以 【補上的】總結點數

例如:查找失敗時,長度為10的有序表的平均查找長度為:ASL=(3×5+4×6)/11=39/11;

三、動態查找

1、二叉樹鏈表結構描述如下:

typedef struct TNode *Position; typedef Position BinTree; /* 二叉樹類型 */ struct TNode {/*樹結點定義 */ElementType Data; /* 結點數據*/BinTree Left; /*指向左子樹*/BinTree Right;/*指向右子樹*/ };

二叉鏈表至少包含3個域:數據域 data、左指針域 lchild和右指針域 rchild

指針域: n個結點有2n個指針域。

空指針域:n 個結點的二叉鏈表中含有 n+1 個空指針域。

?


2、二叉搜索(排序、查找)樹的構造過程

(1)構造過程

構造二叉排序樹的過程,就是從空二叉樹開始,逐個向樹中插入節點的過程。

設記錄的關鍵碼序列為:63,90,70,55,67,42,98,83,10,45,58

(2)插入過程算法及其代碼

設待插入節點關鍵碼值為 X :

(1)先在樹中查找值為 X 的節點,若查找成功,說明節點已存在,無需插入;

(2)若查找失敗,說明節點不存在,則將其插入到樹中

因此,新插入節點一定是作為葉子節點插入的。

BinTree Insert(Bintree BST, ElmentType X) {if(!BST){/*若原來樹為空,生成并返回一個結點的二叉搜索樹*/BST = (BinTree)malloc(sizeof(struct TNode));BST->Data = X;BST->Left = BST->Right = NULL;}else{/*開始查找插入元素的位置*/if(X < BST->Data)BST->Left = Insert(BST->Left, X);/*遞歸插入左子樹*/else if(X > BST->Data)BST->Right = Insert(BST->Right, X);/*遞歸插入右子樹*/}return BST; }

(2)刪除過程算法及其代碼

二叉搜索樹的刪除操作比其它操作更為復雜,要刪除結點在樹中的位置決定了操作所采用的策略

a.若要刪除的結點是葉子結點

? 可以直接刪除,然后再修改其父結點的指針。

b.若要刪除的結點只有一個孩子結點(該結點不一定是葉結點,可以是子樹的根)

? 刪除之前需要改變父結點的指針,指向要刪除結點的孩子結點。

?

c.若要刪除的結點有左、右兩棵子樹,有兩種選擇:

? 基本原則:保持二叉搜索樹的有序性

? 1、取其右子樹中的最小元素;

? 2、取其左子樹中的最大元素。

(3)查找過程算法及其代碼

BST樹的查找思想:

首先將給定的K值與二叉排序樹的根節點的關鍵字進行比較:

  • 相等,則查找成功

  • 若給定的K值小于BST樹的根節點的關鍵字:繼續在該節點的左子樹上進行查找

  • 若給定的K值大于BST樹的根節點的關鍵字:繼續在該節點的右子樹上進行查找

a.二叉搜索樹的遞歸查找函數

在二叉排序樹上進行查找,則是從根結點出發走了一條從根到待查結點的路徑;

若查找不成功,則是從根結點出發走了一條從跟到某一葉結點的路徑。

Position Find(BinTree BST,ElementType X) {if(!BST->Data)return NULL;/* 查找失敗 */if(X > BST->Data)return Find(BST->Right, X);/* 在 右子樹 中遞歸查找 */else if(X < BST->Data)return Find(BST->Left, X);/* 在 左子樹 中遞歸查找 */elsereturn BST;/* 在當前結點查找成功,返回當前結點的地址*/ }
b.迭代查找算法

由于非遞歸函數的執行效率高,一般采用非遞歸的迭代來實現查找。很容易將遞歸函數改為迭代函數

while循環 代替 Find遞歸調用即可

Position Find(BinTree BST,ElementType X) {while(BST){if(X > BST->Data)BST = BST->Right;/* 向 右子樹 中移動,繼續查找 */else if(X < BST->Data)BST = BST->Left; /* 向 右子樹 中移動,繼續查找 */else /* X == BST->Data;*/break;/* 在當前結點查找成功,跳出循環 */} return BST;/* 返回找到的結點地址,或是NULL */ }

(4)查找最大值和最小值

根據二叉搜索樹的性質,最小元素一定是在樹的最左分支的端點上。最左分支的端點:最左分支上無左孩子的結點。

最大元素一定在最右分支的端結點上。

  • 從根結點開始,當其不為空時,沿左分支或者右分支逐個判斷各結點的指針,直到遇到空指針為止。
  • 當左分支逐層推下來查找到的是最小元素。
  • 反之,當右分支逐層推下來查找到的是最大元素。

a.最小元素的遞歸函數
Position FindMin(BinTree BST) { /* 最小元素在最左端點 */if(!BST)return NULL;/* 空的二叉搜素樹,返回NULL */else if(!BST->Left)return BST; /* 找到最左端點并返回 */elsereturn FindMin(BST->Left); /*沿左分支遞歸查找 */ }
b.查找最大元素的迭代函數
Position FindMax(BinTree BST) {if(BST)while(BST->Right);BST = BST->Right; /*沿右分支一直向下,直到最右端點 */return BST; }

四、二叉樹的遍歷

指按照某種次序訪問二叉樹的所有結點,并且每個結點僅訪問一次,得到一個線性序列。

1、先序遍歷

(1)訪問根結點
(2)先序遍歷左子樹
(3)先序遍歷右子樹

-中序、后序遍歷相似

先序遍歷:A → B → D → C
中序遍歷:B → D → A → C
后續遍歷:D → B → C → A
層序遍歷:A → B → C → D

void PreOrderTraverse(BiTree T) //鏈式二叉樹先序遍歷遞歸算法 {if (T != NULL){printf_s("%d ", T->data); //訪問根結點PreOrderTraverse(T->lchild); //先序遍歷左子樹PreOrderTraverse(T->rchild); //先序遍歷右子樹} }//鏈式二叉樹中序遍歷遞歸算法 void InOrderTraverse(BiTree T) {if (T != NULL) {InOrderTraverse(T->lchild);printf_s("%d ", T->data);InOrderTraverse(T->rchild);} }//鏈式二叉樹后序遍歷遞歸算法 void PostOrderTraverse(BiTree T) {if (T != NULL) {PostOrderTraverse(T->lchild);PostOrderTraverse(T->rchild);printf_s("%d ", T->data);} }

2、層序遍歷(隊列實現)

仔細看看層序遍歷過程,其實就是從上到下,從左到右依次將每個數放入到隊列中,然后按順序依次打印就是想要的結果。

實現過程

  • 從隊列中取出一個元素;
  • 訪問該元素所指結點;
  • 若該元素所指結點的左、右孩子結點非空,則將其左、右孩子的指針順序入隊。

不斷執行這三步操作,直到隊列為空,再無元素可取,二叉樹的程序遍歷就完成了。

void LevelorDerTraversal(BinTree BT) {Queue Q;BinTree T;if(!BT)return;/* 若是空樹則直接返回 */Q = CreatQueue(); /* 創建空隊列 */AddQ(Q, BT);while(!IsEmpty(Q)){T = DeteleQ(Q);printf("%d",T->Data); /* 訪問取出隊列的結點 */if(T->Left)AddQ(Q, T->Left);if(T->Right)AddQ(Q, T->Right);} }

3、由遍歷序列還原二叉樹

已知序遍歷和序遍歷,可以還原二叉樹;
已知序遍歷和序遍歷,可以還原二叉樹;
已知先序遍歷和后序遍歷,不可以還原二叉樹.

a.已知先序遍歷和中序遍歷還原二叉樹

算法思路:
1、根據先序遍歷結果確定根節點。先序遍歷的第一個節點為根節點。
2、 在中序遍歷結果中找到根節點,根節點左側的部分為左子樹節點,根節點右側的部分為右子樹節點。
3、 將中序遍歷的結果按根節點分為兩部分,迭代的執行第一步和第二步,直到還原整個二叉樹。

例如:已知先序遍歷的結果為:ABDHIEJKCFLMGNO,中序遍歷的結果為:HDIBJEKALFMCNGO

則二叉樹為以下結構:

其后序遍歷結果為:HIDJKEBLMFNOGCA

b.已知后序遍歷和中序遍歷還原二叉樹

算法思路
1、根據后序遍歷結果確定根節點。
后序遍歷的最后一個節點為根節點。
2、在中序遍歷結果中找到根節點,根節點左側的部分為左子樹節點,根節點右側的部分為右子樹節點。
3、將中序遍歷的結果按根節點分為兩部分,迭代的執行第一步和第二步,直到還原整個二叉樹。

例如:已知后序遍歷的結果為:HIDJKEBLMFNOGCA,中序遍歷的結果為:HDIBJEKALFMCNGO

則二叉樹為以下結構:

其先序遍歷結果為:ABDHIEJKCFLMGNO

五、遞歸遍歷算法的應用

1、求二叉樹的深度

//求樹的深度 int TreeDeep(BiTree T) {int deep = 0;if (T != NULL) {int leftDeep = TreeDeep(T->lchild);int rightDeep = TreeDeep(T->rchild);deep = leftDeep >= rightDeep ? leftDeep + 1 : rightDeep + 1;}return deep; }

2、求二叉樹的葉子樹

//求葉子樹 int LeafCount(BinTree T,int num) {if(T){if(!T->Left && !T->Right){nm++;}TreeDeep(T->lchild, num);TreeDeep(T->rchild, num);}return num; }

3、交互(換)左、右子樹

void Swap(BiTree *&right,BiTree *&left) {BiTree *temp=right;right=left;left=temp; }void SwapSubtrees(BiTree *T) {if(!T)return ;SwapSubtrees(T->rchild);SwapSubtrees(T->lchild);Swap(T->rchild,T->lchild); }

六、靜態查找和動態查找的根本區別

  • 上述基于二叉排序樹的動態查找,它的基本原理和基于線性表的靜態二分查找很相似,都是利用有序性不斷縮小查找空間。

  • 而之所以有靜態和動態之分,主要是為了適應不同的應用需求。

適合用于
靜態查找數據一旦建立好,不需要或者很少進行 刪除 和 插入 操作
動態查找頻繁的數據變化,插入 和 刪除 是基本操作

七、樹/森林與二叉樹的轉換

1、樹、森林與二叉樹的轉換

由于二叉樹是有序的,為了避免混淆,對于無序樹,我們約定樹中的每個結點的孩子結點按從左到右的順序進行編號。

將樹轉換成二叉樹的步驟是:
(1)加線。就是在所有兄弟結點之間加一條連線;
(2)抹線。就是對樹中的每個結點,只保留他與第一個孩子結點之間的連線,刪除它與其它孩子結點之間的連線;
(3)旋轉。就是以樹的根結點為軸心,將整棵樹順時針旋轉一定角度,使之結構層次分明。

2、森林轉換為二叉樹

森林是由若干棵樹組成,可以將森林中的每棵樹的根結點看作是兄弟,由于每棵樹都可以轉換為二叉樹,所以森林也可以轉換為二叉樹。

將森林轉換為二叉樹的步驟是:
(1)先把每棵樹轉換為二叉樹
(2)第一棵二叉樹不動,從第二棵二叉樹開始,依次把后一棵二叉樹的根結點作為前一棵二叉樹的根結點的右孩子結點用線連接起來。當所有的二叉樹連接起來后得到的二叉樹就是由森林轉換得到的二叉樹。

3、二叉樹轉換為樹

二叉樹轉換為樹樹轉換為二叉樹逆過程,其步驟是:
(1)若某結點左孩子結點存在,將左孩子結點的右孩子結點、右孩子結點的右孩子結點……都作為該結點的孩子結點,將該結點與這些右孩子結點用線連接起來;
(2)刪除原二叉樹中所有結點與其右孩子結點的連線;
(3)整理(1)和(2)兩步得到的樹,使之結構層次分明。

4、二叉樹轉換為森林

二叉樹轉換為森林比較簡單,其步驟如下:
(1)先把每個結點與右孩子結點的連線刪除,得到分離的二叉樹;
(2)把分離后的每棵二叉樹轉換為樹;
(3)整理第(2)步得到的樹,使之規范,這樣得到森林。

5、轉換以后的特點:

? (1、 根據樹與二叉樹的轉換關系以及二叉樹的遍歷定義可以推知:

  • 樹的先序遍歷與其轉換的相應的二叉樹的先序遍歷的結果序列相同;

  • 樹的后序遍歷與其轉換的二叉樹的中序遍歷的結果序列相同;

  • 樹的層序遍歷與其轉換的二叉樹的后序遍歷的結果序列相同。

(2、 由森林與二叉樹的轉換關系以及森林與二叉樹的遍歷定義可知:

? 森林的先序遍歷和中序遍歷與所轉換得到的二叉樹的先序遍歷和中序遍歷的結果序列相同。

八、線索二叉樹

傳統的二叉鏈表僅能體現出一種父子關系,不能直接得到結點在遍歷中的前驅或后繼。引入【線索二叉樹】正是為了加快查找結點前驅和后繼的速度。
(1、定義

  • 前驅與后繼:在二叉樹的先序、中序或后序遍歷序列中的兩個相鄰的結點;
  • 線索:指向前驅或后繼的結點的指針;
  • 線索二叉樹:加上線索的二叉鏈表的二叉樹;
  • 線索化:對二叉樹按某個遍歷次序使其變為線索二叉樹的過程。

(2、規定【口訣:左前右后,0孩1前后】

  • 若無左子樹,令lchild指向其前驅結點;
  • 若無右子樹,令rchild執行指向其后繼結點
  • 增加兩個標志域標識是指左/右孩子還是指向前驅/后繼。

1、存儲結構

//線索二叉樹存儲結構 typedef struct ThreadNode{char data;struct ThreadNode *lchild, *rchild; // 左右孩子指針int ltag, rtag; // 左右線索標志 }ThreadNode, *ThreadTree;

2、如何判斷是孩子還是線索

其標志位含義如下: 【口訣:左前右后,0孩1前后】

  • 這種加上線索的二叉鏈表稱為線索鏈表,相應的二叉樹稱為線索二叉樹。

  • 根據線索性質的不同, 線索二叉樹可分為前序線索二叉樹、 中序線索二叉樹和后序線索二叉樹三種。

3、三種遍歷

因為線索化后, 各個結點指向有變化, 因此原來的遍歷方式不能使用, 需要使用新的方式遍歷線索化二叉樹。

中序線索二叉樹的結點中隱含了線索二叉樹的前驅和后繼信息

在對其遍歷時,需要找到第一個具有前驅結點的左結點,然后依次找結點的后繼。

在中序線索二叉樹中找結點后繼的規律是:

  • 若其右標志為1,則右鏈為線索,指示其后繼;
  • 否則遍歷右子樹中第一個訪問的結點(右子樹中最左下的結點)為其后繼。
void InOrderTraverse(BiThrTree T){ // 中序輸出if(T){InOrderTraverse(T->lchild); //中序遍歷左子樹cout<< T->data;InOrderTraverse(T->rchild); //中序遍歷右子樹} }

九、哈夫曼樹

1、帶權路徑長度WPL

2、哈夫曼樹的構造(算法)

構造 Huffman 樹的基本思想:權值大的結點用短路徑,權值小的結點用長路徑。

構造過程

3、哈夫曼樹的性質

4、哈夫曼編碼

———散列查找———

一、散列查找

1、基本概念

  • 散列函數

? 在進行查找時,在記錄的存儲位置與它的關鍵字之間建立一個確定的對應關系h,以線性表中每個元素的關鍵字K為自變量,通過函數h(K)計算出該元素的存儲位置,我們將h函數稱為散列函數或哈希函數。h(K)的值稱為散列地址或哈希地址。

  • 沖突

? 在實際應用中,通常可能出現一個待插入元素的散列地址單元已被占用情況,使得該元素無法直接存入此單元,這種情況稱為沖突。

  • 同義詞

    ? 具有不同關鍵字而具有相同散列地址的元素稱為同義詞,即key1≠key2,但h(key1)=h(key2)。由同義詞引起的沖突稱作同義詞沖突。

  • 裝填因子(α)

    指散列表中已存入的元素數n與散列表空間大小m的比值,即:α=n/m。當α越小時,沖突可能性就越小,但同時,存儲空間利用率就越低。

散列表:根據設定的哈希函數及處理沖突的方法將一組關鍵字映象到一個有限的連續的地址集上,即把記錄存放在表中映象的位置上,這種表便稱為散列表(哈希表)。

  • 一個散列表的好壞與三個因素有關:1.裝填因子 2、所采用的散列函數 3、解決沖突的方法

假定一個線性表為A=(18,75,60,43,54,90,46),選取散列函數為:h(K)=K%m 取m=13
則得每個元素散列地址:
h(18)=18 % 13=5
h(75)=75 % 13=10
h(60)=60 % 13=8
h(43)=43 % 13=4
h(54)=54 % 13=2
h(90)=90 % 13=12
h(46)=46 % 13=7
根據散列地址,實現元素的存儲映象H[m]:

0123456789101112
H54431846607590

例:如向下表中再插入元素70時,70%13=5,則出現了沖突

0123456789101112
H54431846607590

2、散列函數

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-OtlYI1uv-1641217649135)(myReviewPicture/散列函數.png)]

構造散列函數的目標是使散列地址盡可能均勻分布在散列空間上,同時使計算盡可能簡單,以節省計算時間。

(1、關鍵詞為數字時:

a.直接定址法

b.除留余數法(常用)

c.數字分析法
分析數字關鍵字在各位上的變化情況,取比較隨機的位作為散列地址,如電話號碼、身份證號碼某幾位會比較隨機;

**例:**有一組關鍵字如下:

? 92326875

? 92739628

? 92343634

? 92706816

? 92774638

? 92381262

? 92394220

通過分析:每個關鍵字從左到右第1、2、3位和第6位取值較集中,不宜作散列地址,其余的第4、5、7、8位取值分散,可以選擇,若取最后兩位作散列地址,得:(2,75,28,34,16,38,62,20)

d.平方取中法
key取平方再取中間幾位

(2、關鍵詞為字符時:

a、ASCII碼加和法
h(key)=(求和key[i])mod TableSize
b、前3個字符移位法
h(key)=(key[0]*27*27+key[1]*27+key[2])mod TableSize

二、處理沖突的方法

1、開放定址法

a.線性探測法

注意:查找某個值時,用散列函數計算完后,如果那個結果位置上的數字與關鍵詞不一樣時,并不能斷定關鍵詞不存在,還應該按照沖突解決策略繼續找,直到找到空位置了還沒找到,才能斷定該關鍵詞不存在。

b、平方探測(二次探測)

舉例:h(key)=key mod 11;

**注意:**取素數是為了減少公因子(減少沖突)

c.在散列法

2、分離鏈接法

———————————————圖————————————————

一、圖的基本概念

集合只有同屬于一個集合;線性結構存在一對一的關系;樹形結構存在一對多的關系;圖狀結構存在多對多的關系

1、簡單圖

簡單圖滿足以下兩條內容:

1)不存在重復邊

2)不存在頂點到自身的邊

2、完全圖

任意兩頂點之間都存在邊

3、連通分量

在無向圖中,兩頂點有路徑存在,就稱為連通的。若圖中任意兩頂點都連通,同此圖為連通圖。無向圖中的極大連通子圖稱為連通分量。

4、強連通分量

在有向圖中,兩頂點兩個方向都有路徑,兩頂點稱為強連通

若任一頂點都是強連通的,稱為強連通圖。有向圖中極大強連通子圖為有向圖的強連通分量。

5.頂點的度、入度和出度

頂點的度為以該頂點為一個端點的邊的數目

對于無向圖,頂點的邊數為度,度數之和是頂點邊數的 2 倍

對于有向圖,入度是以頂點為終點,出度相反。有向圖的全部頂點入度之和等于出度之和且等于邊數頂點的度等于入度與出度之和

注意:入度與出度是針對有向圖來說的

二、圖的存儲

1、數組(鄰接矩陣)表示法

  • 建立一個頂點表(記錄各個頂點信息)和一個鄰接矩陣(表示各個頂點之間關系)。

  • 設圖A=(V,E)有n個頂點,則

  • 圖的鄰接矩陣是一個二位數組A.arcs[n] [n],定義為:

??¨è??é????’?
¥????‰????è?°

a.無向圖的鄰接矩陣表示法

分析1:無向圖的鄰接矩陣是對稱的;
分析2:頂點i的度=第i行(列)中1的個數;
特別:完全圖的鄰接矩陣中,對角元素為0,其余1。

b.有向圖的鄰接矩陣表示法

注:在有向圖的鄰接矩陣中,
第 i 含義:以結點vi為尾的弧(即出度邊
第 i 含義:以結點vi為頭的弧(即入度邊
分析1:有向圖的鄰接矩陣可能是不對稱的;
分析2:頂點的出度 = 第 i 行元素之和
頂點的入度 = 第 i 列元素之和
頂點的度 = 第 i 行元素之和 + 第 i 列元素之和

c.有權圖(網)的鄰接矩陣表示法

2.鄰接表(順序存儲與鏈式存儲結合)


a.無向圖的鄰接表

b.有向圖的鄰接表與逆鄰接表

c.帶權值的網圖

三、圖的遍歷

1、深度優先遍歷算法

深度優先搜索類似于樹的先序遍歷。

其基本思想是:

  • 首先訪問起始頂點v,然后由v出發,訪問與v 鄰接且未被訪問的任一頂點w1,再訪問與w1 鄰接且未被訪問的任一頂點W2……重復上述操作。

  • 不能再繼續向下訪問時,依次退回到最近被訪問的頂點,若它還有鄰接頂點未被訪問過,則從該點開始繼續上述搜索過程,直至圖中所有頂點均被訪問過為止。

從頂點a 出發,進行深度優先遍歷,可以得到的一種頂點序列為:a e d f c b

2、廣度優先遍歷算法

廣度優先搜索類似于二叉樹的層序遍歷算法。

其基本思想是:

  • 首先訪問起始頂點v,接著由ν出發,依次訪問v 的各個未訪問過的鄰接頂點W1,W2,…,Wi,然后依次訪問W1,W2,…,Wi的所有未被訪問過的鄰接頂點
  • 再從這些訪問過的頂點出發,訪問它們所有未被訪問過的鄰接頂點,直至圖中的所有頂點都被訪問過為止
  • 若此時圖中尚有頂點未被訪問,則另選圖中的一個未被訪問的頂點作為始點,重復上述過程,直至圖中所有頂點都被訪問到為止

從頂點1 出發,按照廣度優先規則遍歷,可以得到的一種頂點序列是: 1234576

二、最小生成樹

1、性質

2、Prim算法

3、Kruskal算法

三、拓撲排序

四、最短路徑

迪杰斯特拉算法

通過迪杰斯特拉算法計算圖G中的最短路徑時,需要指定起點s。

? 此外,需要引進兩個集合S和U。

  • S的作用:記錄已求出最短路徑的頂點(以及相應的最短路徑長度),
  • U的作用:記錄還未求出最短路徑的頂點(以及該頂點到起點s的距離)。
  • 初始時,S中只有起點s;
  • U中是除s之外的頂點,并且U中頂點的路徑是“起點s到該頂點的路徑”。
  • 然后,從U中找到路徑最短的頂點,并將其加入到S中;
    • 接著,更新U中的頂點和頂點對應的路徑。
    • 然后,再從U中找到路徑最短的頂點,并將其加入到S中;接著,更新U中的頂點和頂點對應的路徑。
    • 重復上述操作,直到遍歷完所有頂點。
具體過程

1、初始化,所有頂點的距離初始化為無窮大(INFINITY)

2、選定點A,更新(A-A距離設為0)

3、S集合為{A,B},考察B的所有鄰接點

為什么選定B加入集合S?
因為不可能還有其他路徑比2還短,我不管經過C到B還是D到B都不可能是路徑小于2,所以我們得到了A->B的最短路徑

做完這一步,下一步加入集合S的是D
因為目前A->D的路徑長度最短,為3(我已經知道了A直接到D和A經過B到D的路徑長度)
如果A->B->X->D小于min{A->D,A->B->D},那么A->B->X小于min{A->D,A->B->D},那么加入集合的應該是X,這是矛盾的(接下來的操作都是一樣的道理

4、S集合為{A,B,D},在U中沒有D的鄰接點,不操作

5、S集合為{A,B,D,C},在U中沒有C的鄰接點,不操作

6、S集合為{A,B,D,C,F},更新

7、S集合為{A,B,D,C,F,E},在U中沒有E的鄰接點,不操作

8、S集合為{A,B,D,C,F,E,G},在U中沒有G的鄰接點,不操作

9、最終結果如上圖

———排序———

一、排序的類別

1、插入排序

基本思想:

【1】直接插入排序

(1、基本思想:

1)、將待排序的一組序列(有N個數)分為已排好的未排好的 2個部分;

2)、初始狀態時,已排序序列僅包含第1 個元素,未排序序列中的元素為除去第1 個元素意外的N-1 個元素

3)、此后,將未排序序列中的元素逐一插入到已排序的序列中;

4)、如此往復,經過N-1 次插入后,未排序序列中元素個數為0 ,則排序完成。

(2、執行過程

(3、時空效率及穩定性

【2】希爾排序

(1、基本思想:

1)、將帶排序序列的一組元素按一定間隔分為若干序列分別進行插入排序

2)、開始時設置的“間隔”較大,在每輪排序中,將**”間隔“逐步縮小**

3)、直到“間隔”為 1,也就到了最后一步,做簡單插入排序

(2、執行過程

(3、時空效率及穩定性

2、交換排序

基本思想:

【1】冒泡排序

(1、基本思想:

(2、執行過程

(3、時空效率及穩定性

【2】快速排序

(1、基本思想:

1)、將未排序元素根據一個作為基準的“主元(pivot)分為兩個子序列

2)、其中一個子序列的記錄均大于“主元”,另一個序列則均小于“主元;

3)、遞歸地對兩個子序列用類似的方法進行排序。

(2、執行過程

(3、時空效率及穩定性

3、選擇排序

基本思想:

【1】簡單選擇排序

(1、基本思想:

1)、在未排序的序列中選出最小元素和序列的首位元素交換,

2)、再在剩下的排序序列中再選出最小元素與序列的第2 個位置元素交換

3)、以此類推,最后形參從小到大的已排序序列。

(2、執行過程

(3、時空效率及穩定性

【2】堆排序

(1、基本思想:

1)、利用最大堆(或最小堆)輸出堆頂元素,即最大值(或最小值);

2)、將剩余元素重新生成最大堆(或最小堆),繼續輸出堆頂元素

3)、重復此過程,知道全部元素都已輸出,得到的輸出元素序列即為有序序列

(2、執行過程要點
<1>初始化堆的過程

下面是構建初始堆的過程

下面是堆排序的過程

(3、時空效率及穩定性

4、歸并排序

二、各種排序的比較

口訣:快選堆希不穩,選堆歸基不變

不穩:說的是 算法不穩定

不變:說的是 關于移動次數和關鍵字順序無關的排序

總結

以上是生活随笔為你收集整理的【数据结构】【期末复习】知识点总结的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

午夜福利不卡在线视频 | 国产一区二区三区精品视频 | 亚洲中文字幕在线无码一区二区 | 色一情一乱一伦 | 国产精品理论片在线观看 | 国产免费无码一区二区视频 | 88国产精品欧美一区二区三区 | 亚洲精品国偷拍自产在线观看蜜桃 | 国产成人一区二区三区别 | 久久zyz资源站无码中文动漫 | 国产精品丝袜黑色高跟鞋 | 久久久婷婷五月亚洲97号色 | 波多野结衣高清一区二区三区 | 国产一区二区三区四区五区加勒比 | 正在播放东北夫妻内射 | 国产精品国产自线拍免费软件 | 十八禁真人啪啪免费网站 | 2020久久香蕉国产线看观看 | 国产熟妇另类久久久久 | 久久精品女人的天堂av | 久久久精品国产sm最大网站 | 精品欧洲av无码一区二区三区 | 鲁大师影院在线观看 | 麻豆国产人妻欲求不满谁演的 | 无码播放一区二区三区 | 女人被爽到呻吟gif动态图视看 | a片在线免费观看 | 久久久久久久久蜜桃 | 日本一卡2卡3卡4卡无卡免费网站 国产一区二区三区影院 | 理论片87福利理论电影 | 无码精品人妻一区二区三区av | 久久人人97超碰a片精品 | 国产成人一区二区三区别 | 国内少妇偷人精品视频免费 | 国产成人精品必看 | 亚洲综合在线一区二区三区 | 色婷婷综合中文久久一本 | 国产成人精品久久亚洲高清不卡 | 在线视频网站www色 | 荫蒂被男人添的好舒服爽免费视频 | 亚洲精品一区三区三区在线观看 | 国产成人精品一区二区在线小狼 | 熟女体下毛毛黑森林 | 天堂久久天堂av色综合 | 初尝人妻少妇中文字幕 | 亚洲一区二区三区香蕉 | 曰本女人与公拘交酡免费视频 | 精品成在人线av无码免费看 | 国产真实乱对白精彩久久 | 亚洲一区二区三区在线观看网站 | 亚洲成色在线综合网站 | 中文字幕色婷婷在线视频 | 亚洲乱码中文字幕在线 | 国产亚洲精品精品国产亚洲综合 | 久久久无码中文字幕久... | 18无码粉嫩小泬无套在线观看 | 亚洲爆乳精品无码一区二区三区 | 亚洲综合在线一区二区三区 | 国产精品第一区揄拍无码 | 亚洲国产精品一区二区第一页 | 欧美精品一区二区精品久久 | 久久www免费人成人片 | 久久精品国产亚洲精品 | 久久综合给合久久狠狠狠97色 | 日本一区二区三区免费播放 | 国产凸凹视频一区二区 | 日韩人妻无码中文字幕视频 | 高中生自慰www网站 | 亚洲呦女专区 | 97久久精品无码一区二区 | 丰满少妇女裸体bbw | 又紧又大又爽精品一区二区 | 久久国产精品二国产精品 | 亚洲一区二区三区四区 | 国产乱人伦偷精品视频 | 女高中生第一次破苞av | 国产亚洲精品久久久久久久久动漫 | 中文字幕+乱码+中文字幕一区 | 2020久久香蕉国产线看观看 | 亚洲午夜久久久影院 | 日韩欧美群交p片內射中文 | 秋霞特色aa大片 | 理论片87福利理论电影 | 在线成人www免费观看视频 | 日韩精品无码免费一区二区三区 | 夜精品a片一区二区三区无码白浆 | 7777奇米四色成人眼影 | 欧美丰满少妇xxxx性 | 亚洲色欲色欲天天天www | 老熟女重囗味hdxx69 | a国产一区二区免费入口 | 人妻互换免费中文字幕 | 国产人妻精品一区二区三区 | 亚洲国产成人av在线观看 | 中文精品久久久久人妻不卡 | 蜜臀av无码人妻精品 | 丝袜 中出 制服 人妻 美腿 | 无码成人精品区在线观看 | 激情五月综合色婷婷一区二区 | 国产无遮挡吃胸膜奶免费看 | 国产做国产爱免费视频 | 99riav国产精品视频 | av香港经典三级级 在线 | 亚洲国产av美女网站 | 综合激情五月综合激情五月激情1 | 久久午夜无码鲁丝片秋霞 | 久久人人97超碰a片精品 | 欧美日韩亚洲国产精品 | 午夜成人1000部免费视频 | 人妻少妇被猛烈进入中文字幕 | 乱人伦中文视频在线观看 | 国产av一区二区三区最新精品 | 任你躁在线精品免费 | 成人三级无码视频在线观看 | 亚洲午夜无码久久 | 少妇无码av无码专区在线观看 | 人妻尝试又大又粗久久 | 国产偷抇久久精品a片69 | 欧美人与禽zoz0性伦交 | 97夜夜澡人人双人人人喊 | 国产精品福利视频导航 | 精品国偷自产在线 | 97久久国产亚洲精品超碰热 | 中文字幕 亚洲精品 第1页 | 国产电影无码午夜在线播放 | 国产va免费精品观看 | 国产精品嫩草久久久久 | 欧美阿v高清资源不卡在线播放 | 人妻熟女一区 | 亚洲呦女专区 | 西西人体www44rt大胆高清 | 又紧又大又爽精品一区二区 | 国产精品久久久久久亚洲毛片 | 中文字幕乱码人妻二区三区 | 中文字幕av伊人av无码av | 国产精品久久精品三级 | 亚洲人亚洲人成电影网站色 | 国产无套内射久久久国产 | 人人澡人摸人人添 | 欧美一区二区三区 | 亚洲人成影院在线观看 | 久久久久se色偷偷亚洲精品av | av无码不卡在线观看免费 | 亚洲gv猛男gv无码男同 | 精品国产麻豆免费人成网站 | 欧美成人家庭影院 | 亚洲七七久久桃花影院 | 久久久成人毛片无码 | 在线观看国产午夜福利片 | 在线观看国产一区二区三区 | 日韩精品无码免费一区二区三区 | 精品夜夜澡人妻无码av蜜桃 | 欧美成人家庭影院 | 无码吃奶揉捏奶头高潮视频 | 亚洲国产精品毛片av不卡在线 | 久久精品国产精品国产精品污 | 欧美老人巨大xxxx做受 | 无码人妻精品一区二区三区下载 | 中文字幕乱码人妻二区三区 | 国产乡下妇女做爰 | 国产黄在线观看免费观看不卡 | 天干天干啦夜天干天2017 | 国产精品亚洲专区无码不卡 | 奇米影视888欧美在线观看 | 亚洲爆乳精品无码一区二区三区 | 欧美性生交xxxxx久久久 | 丰满少妇女裸体bbw | 理论片87福利理论电影 | 亚洲熟女一区二区三区 | 六十路熟妇乱子伦 | 国产精品久久久一区二区三区 | 无码av中文字幕免费放 | 97精品国产97久久久久久免费 | 欧美日韩综合一区二区三区 | 亚洲精品国产精品乱码视色 | 国内揄拍国内精品人妻 | 中文字幕乱码人妻二区三区 | 天海翼激烈高潮到腰振不止 | 久久久www成人免费毛片 | 男女作爱免费网站 | 亚洲中文字幕无码一久久区 | 国产av剧情md精品麻豆 | 国产一区二区三区四区五区加勒比 | 牲交欧美兽交欧美 | 97色伦图片97综合影院 | 黑人大群体交免费视频 | 午夜熟女插插xx免费视频 | 免费人成网站视频在线观看 | 1000部啪啪未满十八勿入下载 | 一二三四在线观看免费视频 | 宝宝好涨水快流出来免费视频 | 激情人妻另类人妻伦 | 又湿又紧又大又爽a视频国产 | 色欲av亚洲一区无码少妇 | 强开小婷嫩苞又嫩又紧视频 | 亚洲日韩av一区二区三区四区 | 在线成人www免费观看视频 | 亚洲国产欧美在线成人 | 一个人看的视频www在线 | 欧美丰满老熟妇xxxxx性 | 亚洲日本va午夜在线电影 | 狠狠色丁香久久婷婷综合五月 | 性啪啪chinese东北女人 | 夜先锋av资源网站 | 在线天堂新版最新版在线8 | 中文字幕乱码人妻二区三区 | 性色av无码免费一区二区三区 | 狠狠色噜噜狠狠狠7777奇米 | 又大又黄又粗又爽的免费视频 | 免费男性肉肉影院 | 精品一区二区三区波多野结衣 | 国产做国产爱免费视频 | 免费国产成人高清在线观看网站 | 亚洲精品一区三区三区在线观看 | 无人区乱码一区二区三区 | 男女性色大片免费网站 | 又湿又紧又大又爽a视频国产 | 亚洲第一无码av无码专区 | 动漫av一区二区在线观看 | 2019午夜福利不卡片在线 | 欧美国产日韩亚洲中文 | 性生交大片免费看l | 欧美高清在线精品一区 | 亚洲呦女专区 | 色综合久久久久综合一本到桃花网 | 欧美丰满老熟妇xxxxx性 | 午夜嘿嘿嘿影院 | 午夜理论片yy44880影院 | 中文无码成人免费视频在线观看 | 97se亚洲精品一区 | 亚洲日本在线电影 | 中文字幕无码免费久久9一区9 | 国产精品毛片一区二区 | 国色天香社区在线视频 | 久热国产vs视频在线观看 | 精品aⅴ一区二区三区 | 亚洲人亚洲人成电影网站色 | 日韩欧美成人免费观看 | 丝袜 中出 制服 人妻 美腿 | v一区无码内射国产 | 人人妻人人澡人人爽欧美精品 | 国产亚洲精品久久久久久久 | 国产精品99久久精品爆乳 | 无码国产激情在线观看 | 国产麻豆精品精东影业av网站 | 骚片av蜜桃精品一区 | 国产亚洲欧美在线专区 | 色五月丁香五月综合五月 | 免费看男女做好爽好硬视频 | 人人妻人人藻人人爽欧美一区 | 国产免费久久久久久无码 | 76少妇精品导航 | 色婷婷综合激情综在线播放 | 沈阳熟女露脸对白视频 | 国产精品va在线观看无码 | а√天堂www在线天堂小说 | 国产亚洲人成在线播放 | 国产精品美女久久久久av爽李琼 | 日日麻批免费40分钟无码 | 国内精品人妻无码久久久影院 | 动漫av网站免费观看 | 欧洲美熟女乱又伦 | 人妻少妇精品视频专区 | 欧美激情内射喷水高潮 | 大肉大捧一进一出视频出来呀 | 亚洲午夜福利在线观看 | 亚洲区小说区激情区图片区 | 亚洲午夜久久久影院 | 日日摸夜夜摸狠狠摸婷婷 | 亚洲一区二区三区国产精华液 | 少妇被黑人到高潮喷出白浆 | 国产另类ts人妖一区二区 | 国产口爆吞精在线视频 | 少妇性l交大片欧洲热妇乱xxx | 成熟女人特级毛片www免费 | 国产精品久久久午夜夜伦鲁鲁 | 欧美日韩综合一区二区三区 | 亚洲色大成网站www | 国内综合精品午夜久久资源 | 国产精品人人爽人人做我的可爱 | 熟妇人妻无乱码中文字幕 | 国内精品久久久久久中文字幕 | 人妻无码αv中文字幕久久琪琪布 | 中文无码成人免费视频在线观看 | 无码一区二区三区在线 | 狂野欧美性猛交免费视频 | 无码av最新清无码专区吞精 | 国产农村妇女高潮大叫 | 国产xxx69麻豆国语对白 | 噜噜噜亚洲色成人网站 | 狠狠cao日日穞夜夜穞av | 午夜精品一区二区三区的区别 | 在线亚洲高清揄拍自拍一品区 | 国内少妇偷人精品视频免费 | 人妻少妇精品无码专区二区 | 小sao货水好多真紧h无码视频 | 玩弄中年熟妇正在播放 | 国产真实乱对白精彩久久 | 人妻少妇精品无码专区二区 | 久久久精品人妻久久影视 | 国产色视频一区二区三区 | 午夜福利不卡在线视频 | 国产疯狂伦交大片 | 欧美日韩在线亚洲综合国产人 | 欧美放荡的少妇 | 欧美大屁股xxxxhd黑色 | 99国产欧美久久久精品 | 亚洲精品国产精品乱码不卡 | 国产精品久久国产精品99 | 老熟妇仑乱视频一区二区 | 三级4级全黄60分钟 | 清纯唯美经典一区二区 | 丁香花在线影院观看在线播放 | 少妇人妻偷人精品无码视频 | 亚洲人成网站色7799 | 无码午夜成人1000部免费视频 | 成人精品视频一区二区三区尤物 | 男人扒开女人内裤强吻桶进去 | 奇米影视7777久久精品 | 中文字幕乱码亚洲无线三区 | 日韩精品无码一本二本三本色 | 亚洲精品国偷拍自产在线观看蜜桃 | 亚洲自偷自偷在线制服 | yw尤物av无码国产在线观看 | 国产人妻人伦精品1国产丝袜 | 中文精品久久久久人妻不卡 | 领导边摸边吃奶边做爽在线观看 | 女人高潮内射99精品 | 最近的中文字幕在线看视频 | 最新国产麻豆aⅴ精品无码 | 大肉大捧一进一出视频出来呀 | 国产亚洲精品久久久久久久久动漫 | 午夜福利不卡在线视频 | 久久久国产一区二区三区 | 麻豆精品国产精华精华液好用吗 | 天天做天天爱天天爽综合网 | 欧美 日韩 亚洲 在线 | 蜜臀av在线播放 久久综合激激的五月天 | 久久天天躁夜夜躁狠狠 | 久久亚洲中文字幕精品一区 | 奇米综合四色77777久久 东京无码熟妇人妻av在线网址 | 中文字幕亚洲情99在线 | 日本va欧美va欧美va精品 | 国产性猛交╳xxx乱大交 国产精品久久久久久无码 欧洲欧美人成视频在线 | 熟妇人妻无乱码中文字幕 | 色综合久久久无码中文字幕 | 亚洲一区二区三区在线观看网站 | 大屁股大乳丰满人妻 | 中文字幕色婷婷在线视频 | 亚洲中文字幕久久无码 | 亚洲午夜福利在线观看 | 欧美大屁股xxxxhd黑色 | 国产三级久久久精品麻豆三级 | 亚洲小说春色综合另类 | 中文精品久久久久人妻不卡 | 久久精品99久久香蕉国产色戒 | 精品水蜜桃久久久久久久 | 成在人线av无码免观看麻豆 | 中文无码伦av中文字幕 | 美女黄网站人色视频免费国产 | 国产午夜亚洲精品不卡下载 | 国产亚洲精品久久久久久国模美 | 国内揄拍国内精品少妇国语 | 女高中生第一次破苞av | 中国女人内谢69xxxxxa片 | 亚洲精品一区二区三区在线观看 | 色欲人妻aaaaaaa无码 | 国产情侣作爱视频免费观看 | 又湿又紧又大又爽a视频国产 | 精品国产aⅴ无码一区二区 | 大肉大捧一进一出视频出来呀 | 无码国产乱人伦偷精品视频 | 玩弄少妇高潮ⅹxxxyw | 88国产精品欧美一区二区三区 | 在线播放亚洲第一字幕 | 99久久婷婷国产综合精品青草免费 | 美女扒开屁股让男人桶 | 狠狠躁日日躁夜夜躁2020 | 国产免费久久精品国产传媒 | 色综合久久88色综合天天 | 在线观看国产午夜福利片 | 少妇厨房愉情理9仑片视频 | 性生交片免费无码看人 | 99久久精品国产一区二区蜜芽 | 激情五月综合色婷婷一区二区 | 亚洲精品久久久久中文第一幕 | 久久久久99精品成人片 | 欧洲美熟女乱又伦 | 黑人巨大精品欧美黑寡妇 | 国产成人无码区免费内射一片色欲 | 大肉大捧一进一出视频出来呀 | 少妇被粗大的猛进出69影院 | 少妇一晚三次一区二区三区 | 国产精品内射视频免费 | 亚洲の无码国产の无码影院 | 性做久久久久久久免费看 | 久久精品国产99久久6动漫 | 天天躁日日躁狠狠躁免费麻豆 | 亚洲天堂2017无码中文 | 精品久久综合1区2区3区激情 | 欧美 亚洲 国产 另类 | 亚洲色无码一区二区三区 | 日韩人妻无码一区二区三区久久99 | 高清不卡一区二区三区 | 夜夜影院未满十八勿进 | 天天躁夜夜躁狠狠是什么心态 | 爽爽影院免费观看 | 国产真实乱对白精彩久久 | 国产三级久久久精品麻豆三级 | 99久久婷婷国产综合精品青草免费 | 老太婆性杂交欧美肥老太 | 国产成人无码一二三区视频 | 国产后入清纯学生妹 | 欧美人与动性行为视频 | 国产又爽又黄又刺激的视频 | 麻豆人妻少妇精品无码专区 | 在线视频网站www色 | 一本久道久久综合狠狠爱 | 亚洲国产精品无码一区二区三区 | 中文字幕无码av波多野吉衣 | 国内丰满熟女出轨videos | 欧美日韩一区二区综合 | 精品人妻人人做人人爽夜夜爽 | 精品一区二区三区波多野结衣 | 欧美zoozzooz性欧美 | 午夜福利试看120秒体验区 | 国产麻豆精品精东影业av网站 | 国内精品久久久久久中文字幕 | а√资源新版在线天堂 | 午夜肉伦伦影院 | 亚洲午夜久久久影院 | √8天堂资源地址中文在线 | 国产亚洲人成a在线v网站 | 波多野结衣av一区二区全免费观看 | 精品国产麻豆免费人成网站 | 香蕉久久久久久av成人 | а√天堂www在线天堂小说 | 亚洲の无码国产の无码步美 | 国产成人综合美国十次 | 久久久亚洲欧洲日产国码αv | 免费观看激色视频网站 | 男女下面进入的视频免费午夜 | 国产黄在线观看免费观看不卡 | 毛片内射-百度 | 麻豆国产97在线 | 欧洲 | 欧洲欧美人成视频在线 | 亚洲人成影院在线无码按摩店 | 国产亲子乱弄免费视频 | 爆乳一区二区三区无码 | 天天做天天爱天天爽综合网 | 中文字幕 亚洲精品 第1页 | 精品久久久久香蕉网 | 在线 国产 欧美 亚洲 天堂 | 欧美成人午夜精品久久久 | 国产香蕉97碰碰久久人人 | 少女韩国电视剧在线观看完整 | 好男人社区资源 | 日韩在线不卡免费视频一区 | 久久国产精品萌白酱免费 | 十八禁视频网站在线观看 | 亚洲人成人无码网www国产 | 亚洲欧洲中文日韩av乱码 | 日韩精品无码免费一区二区三区 | 国产xxx69麻豆国语对白 | 俺去俺来也www色官网 | 亚洲成av人综合在线观看 | 亚洲综合伊人久久大杳蕉 | 奇米影视7777久久精品人人爽 | 高清无码午夜福利视频 | 在线播放免费人成毛片乱码 | 久久亚洲a片com人成 | 蜜桃av蜜臀av色欲av麻 999久久久国产精品消防器材 | 日韩人妻无码中文字幕视频 | 97资源共享在线视频 | 亚洲码国产精品高潮在线 | 成人一在线视频日韩国产 | 强伦人妻一区二区三区视频18 | 99久久亚洲精品无码毛片 | 久久亚洲中文字幕精品一区 | 熟妇人妻无乱码中文字幕 | 四虎4hu永久免费 | 欧美 亚洲 国产 另类 | 漂亮人妻洗澡被公强 日日躁 | 性欧美熟妇videofreesex | 人人妻人人澡人人爽欧美精品 | 美女黄网站人色视频免费国产 | 国产美女精品一区二区三区 | 久久国产精品二国产精品 | 99视频精品全部免费免费观看 | 亚洲成a人片在线观看无码 | 在线看片无码永久免费视频 | 亚洲热妇无码av在线播放 | 国产人成高清在线视频99最全资源 | 熟妇激情内射com | 中文字幕乱码人妻无码久久 | 又紧又大又爽精品一区二区 | 国产午夜福利亚洲第一 | 伊人久久大香线焦av综合影院 | 国产小呦泬泬99精品 | 无码国内精品人妻少妇 | 日韩欧美中文字幕在线三区 | 久久久久久亚洲精品a片成人 | 国产手机在线αⅴ片无码观看 | 欧美人妻一区二区三区 | 国产人妻人伦精品1国产丝袜 | 老熟妇仑乱视频一区二区 | 六十路熟妇乱子伦 | 国产精品久久久久久久9999 | 色五月五月丁香亚洲综合网 | aa片在线观看视频在线播放 | 免费无码av一区二区 | 国产后入清纯学生妹 | 国产精品99爱免费视频 | 麻豆国产丝袜白领秘书在线观看 | 波多野结衣一区二区三区av免费 | 青春草在线视频免费观看 | 2019午夜福利不卡片在线 | 99久久人妻精品免费二区 | 亚洲 高清 成人 动漫 | 亚洲精品午夜国产va久久成人 | 亚洲综合另类小说色区 | 久久精品国产日本波多野结衣 | 国产精品无码mv在线观看 | 国产成人精品无码播放 | 99久久精品午夜一区二区 | 中文字幕乱码亚洲无线三区 | 国产真人无遮挡作爱免费视频 | 亚洲 激情 小说 另类 欧美 | 国内丰满熟女出轨videos | ass日本丰满熟妇pics | 精品偷自拍另类在线观看 | 亚洲一区二区三区四区 | 中文字幕 亚洲精品 第1页 | 午夜精品一区二区三区在线观看 | 丁香啪啪综合成人亚洲 | 亚洲色在线无码国产精品不卡 | 性史性农村dvd毛片 | 精品 日韩 国产 欧美 视频 | 99国产欧美久久久精品 | 少妇被黑人到高潮喷出白浆 | 中文久久乱码一区二区 | 激情内射亚州一区二区三区爱妻 | 台湾无码一区二区 | 免费无码的av片在线观看 | 免费无码一区二区三区蜜桃大 | 少妇愉情理伦片bd | 日韩精品无码免费一区二区三区 | 精品夜夜澡人妻无码av蜜桃 | 丝袜人妻一区二区三区 | 久久精品国产亚洲精品 | 日日碰狠狠丁香久燥 | 青草视频在线播放 | 亚洲日韩精品欧美一区二区 | 无码人中文字幕 | 亚洲精品无码人妻无码 | 无遮无挡爽爽免费视频 | 欧美性色19p | 少妇性l交大片 | 国产一区二区不卡老阿姨 | 久久综合香蕉国产蜜臀av | 精品国产国产综合精品 | av香港经典三级级 在线 | 亚欧洲精品在线视频免费观看 | 狠狠色噜噜狠狠狠狠7777米奇 | 无码国产色欲xxxxx视频 | 国产人妻精品一区二区三区 | 欧美野外疯狂做受xxxx高潮 | 亚洲欧美精品aaaaaa片 | 国产精品美女久久久 | 精品国产精品久久一区免费式 | 国产sm调教视频在线观看 | 免费无码一区二区三区蜜桃大 | 老熟妇仑乱视频一区二区 | 亚洲色在线无码国产精品不卡 | 亚洲娇小与黑人巨大交 | 成人亚洲精品久久久久 | 日本精品高清一区二区 | 免费看少妇作爱视频 | 欧美日韩色另类综合 | 无码人妻丰满熟妇区毛片18 | 国产午夜福利100集发布 | 欧美精品在线观看 | av人摸人人人澡人人超碰下载 | 男女猛烈xx00免费视频试看 | 真人与拘做受免费视频 | 疯狂三人交性欧美 | 乱人伦人妻中文字幕无码久久网 | 巨爆乳无码视频在线观看 | 欧美激情综合亚洲一二区 | 亚洲爆乳无码专区 | 久久久久久av无码免费看大片 | 中文字幕无码日韩专区 | 色婷婷综合中文久久一本 | 成人三级无码视频在线观看 | 亚洲日韩乱码中文无码蜜桃臀网站 | 久久亚洲中文字幕无码 | 大色综合色综合网站 | 欧美日韩一区二区综合 | 亚洲毛片av日韩av无码 | 国产精品多人p群无码 | 97久久国产亚洲精品超碰热 | 中文字幕无码乱人伦 | 久久人人97超碰a片精品 | 老熟女重囗味hdxx69 | 中文无码伦av中文字幕 | 又大又硬又爽免费视频 | 成人无码视频免费播放 | 粗大的内捧猛烈进出视频 | 荫蒂被男人添的好舒服爽免费视频 | 四虎国产精品一区二区 | 亚洲中文字幕在线无码一区二区 | 国产精品美女久久久网av | 亚欧洲精品在线视频免费观看 | 国产区女主播在线观看 | 真人与拘做受免费视频一 | 欧美熟妇另类久久久久久不卡 | 蜜桃臀无码内射一区二区三区 | 成 人 网 站国产免费观看 | 国产精品久久久久久久影院 | 天堂а√在线中文在线 | 日产国产精品亚洲系列 | 久久精品国产精品国产精品污 | 麻豆精产国品 | 亚洲の无码国产の无码步美 | 99国产精品白浆在线观看免费 | 欧美 日韩 亚洲 在线 | 国产农村乱对白刺激视频 | 老子影院午夜伦不卡 | 日日天干夜夜狠狠爱 | 日韩精品a片一区二区三区妖精 | 国产情侣作爱视频免费观看 | 久久午夜无码鲁丝片午夜精品 | 亚洲中文字幕乱码av波多ji | 亚洲狠狠婷婷综合久久 | 大色综合色综合网站 | 女人被男人爽到呻吟的视频 | 国产在线aaa片一区二区99 | 久久99精品国产麻豆蜜芽 | 又大又紧又粉嫩18p少妇 | 人妻天天爽夜夜爽一区二区 | 精品久久久中文字幕人妻 | 日本一区二区更新不卡 | 中文字幕日韩精品一区二区三区 | 久久精品国产大片免费观看 | 天天燥日日燥 | 丰满肥臀大屁股熟妇激情视频 | 欧美人妻一区二区三区 | 欧美大屁股xxxxhd黑色 | 天堂在线观看www | 日产精品高潮呻吟av久久 | aⅴ亚洲 日韩 色 图网站 播放 | 无遮无挡爽爽免费视频 | 九九热爱视频精品 | 福利一区二区三区视频在线观看 | 国产香蕉尹人视频在线 | 伊人久久大香线蕉av一区二区 | 国产超级va在线观看视频 | 精品久久久久久人妻无码中文字幕 | 色综合视频一区二区三区 | 久久精品国产亚洲精品 | 少妇性俱乐部纵欲狂欢电影 | 国产av人人夜夜澡人人爽麻豆 | 中文字幕日产无线码一区 | 国产免费无码一区二区视频 | 在线精品亚洲一区二区 | 国产午夜福利100集发布 | 国产一精品一av一免费 | 亚洲色大成网站www国产 | 六月丁香婷婷色狠狠久久 | 国产成人一区二区三区在线观看 | 国产九九九九九九九a片 | 亚洲大尺度无码无码专区 | 欧美xxxx黑人又粗又长 | 午夜福利一区二区三区在线观看 | 麻豆国产人妻欲求不满谁演的 | 色综合天天综合狠狠爱 | 亚洲中文字幕无码中字 | 欧美35页视频在线观看 | 国产成人午夜福利在线播放 | 亚洲精品国偷拍自产在线观看蜜桃 | 亚洲va中文字幕无码久久不卡 | 久久人人爽人人爽人人片ⅴ | 久久精品国产日本波多野结衣 | 久久aⅴ免费观看 | 国产免费无码一区二区视频 | 少妇高潮喷潮久久久影院 | 蜜桃av蜜臀av色欲av麻 999久久久国产精品消防器材 | 精品国产乱码久久久久乱码 | 亚洲区小说区激情区图片区 | 亚洲精品一区国产 | 又色又爽又黄的美女裸体网站 | 无码精品国产va在线观看dvd | 大地资源网第二页免费观看 | 人妻少妇精品久久 | 蜜桃视频韩日免费播放 | 熟女少妇在线视频播放 | 樱花草在线播放免费中文 | 久久久久99精品成人片 | 国产精品久久久久久亚洲影视内衣 | 老熟女乱子伦 | 久久国产36精品色熟妇 | 久久精品中文字幕大胸 | 精品夜夜澡人妻无码av蜜桃 | 性生交大片免费看女人按摩摩 | 人人妻人人澡人人爽欧美精品 | 奇米影视888欧美在线观看 | 麻豆国产丝袜白领秘书在线观看 | 日韩精品成人一区二区三区 | 久久国产劲爆∧v内射 | 亚洲色偷偷偷综合网 | 国产三级精品三级男人的天堂 | 免费乱码人妻系列无码专区 | 人妻少妇精品久久 | 中文字幕无码免费久久9一区9 | 亚洲欧洲中文日韩av乱码 | 日本又色又爽又黄的a片18禁 | 人人澡人人透人人爽 | 亚洲の无码国产の无码步美 | 亚洲伊人久久精品影院 | 国产精品久久久久久亚洲影视内衣 | 亚洲娇小与黑人巨大交 | 中文字幕av伊人av无码av | 欧美日韩视频无码一区二区三 | 欧美大屁股xxxxhd黑色 | 国产一区二区三区日韩精品 | 久久精品国产精品国产精品污 | 国产人妻精品一区二区三区不卡 | 熟妇人妻激情偷爽文 | 国产一区二区三区精品视频 | 国产在线精品一区二区高清不卡 | 久久人人97超碰a片精品 | 亚洲国产精品久久久久久 | 精品久久8x国产免费观看 | 日本一卡2卡3卡4卡无卡免费网站 国产一区二区三区影院 | 99久久久无码国产aaa精品 | 妺妺窝人体色www婷婷 | 国产人妻人伦精品1国产丝袜 | 久久精品国产一区二区三区 | 天天躁夜夜躁狠狠是什么心态 | 又大又硬又爽免费视频 | 丰满少妇女裸体bbw | 无码人妻精品一区二区三区下载 | 欧美精品无码一区二区三区 | 亚洲狠狠婷婷综合久久 | 国产成人精品三级麻豆 | 国产97人人超碰caoprom | 99riav国产精品视频 | 亚洲熟妇色xxxxx欧美老妇y | 国产偷抇久久精品a片69 | 国产人成高清在线视频99最全资源 | 国产偷国产偷精品高清尤物 | 国产香蕉尹人视频在线 | 国产精品99爱免费视频 | 一本色道久久综合亚洲精品不卡 | 在线天堂新版最新版在线8 | 亚洲精品国产第一综合99久久 | 中文字幕无码人妻少妇免费 | 欧美日本精品一区二区三区 | 中文字幕无码视频专区 | 久久亚洲国产成人精品性色 | 蜜桃无码一区二区三区 | 水蜜桃亚洲一二三四在线 | 欧美熟妇另类久久久久久不卡 | 日本熟妇浓毛 | 亚洲一区av无码专区在线观看 | 老太婆性杂交欧美肥老太 | 精品欧洲av无码一区二区三区 | 中文字幕中文有码在线 | 婷婷丁香五月天综合东京热 | 亚洲一区二区三区含羞草 | 日本欧美一区二区三区乱码 | 精品偷拍一区二区三区在线看 | 日本xxxx色视频在线观看免费 | 永久黄网站色视频免费直播 | 国产欧美亚洲精品a | 欧美丰满熟妇xxxx | 国产精品无套呻吟在线 | 精品亚洲韩国一区二区三区 | 亚洲欧洲无卡二区视頻 | 久久久精品456亚洲影院 | 老子影院午夜精品无码 | 牲欲强的熟妇农村老妇女 | 99麻豆久久久国产精品免费 | 老司机亚洲精品影院 | 国产sm调教视频在线观看 | 99久久久国产精品无码免费 | 日本大乳高潮视频在线观看 | 色狠狠av一区二区三区 | 亚洲日本一区二区三区在线 | 97久久国产亚洲精品超碰热 | 日本熟妇人妻xxxxx人hd | 99国产精品白浆在线观看免费 | 日本丰满护士爆乳xxxx | 大胆欧美熟妇xx | 亚洲成a人片在线观看无码 | 国产在线精品一区二区三区直播 | 成人亚洲精品久久久久软件 | 国内老熟妇对白xxxxhd | 中文字幕无码日韩欧毛 | 国产97色在线 | 免 | 亚洲午夜福利在线观看 | 久久久久久国产精品无码下载 | 久久99久久99精品中文字幕 | 国产真人无遮挡作爱免费视频 | 欧美丰满熟妇xxxx性ppx人交 | а天堂中文在线官网 | 国产亚洲精品久久久久久久久动漫 | 亚洲乱码国产乱码精品精 | 国产精品美女久久久网av | 欧洲美熟女乱又伦 | 免费人成网站视频在线观看 | 国产精品内射视频免费 | 久久综合狠狠综合久久综合88 | 亚洲成熟女人毛毛耸耸多 | 国产精品久久久久影院嫩草 | 久久综合激激的五月天 | 欧美自拍另类欧美综合图片区 | 成 人 网 站国产免费观看 | 成人免费视频视频在线观看 免费 | 六十路熟妇乱子伦 | 精品国产乱码久久久久乱码 | 国产成人精品优优av | 国产精品免费大片 | 亚洲欧美中文字幕5发布 | 欧美 亚洲 国产 另类 | 国产成人无码午夜视频在线观看 | 熟妇女人妻丰满少妇中文字幕 | 无码乱肉视频免费大全合集 | 88国产精品欧美一区二区三区 | 欧美精品国产综合久久 | 久久亚洲国产成人精品性色 | 精品国产一区二区三区四区在线看 | 成人三级无码视频在线观看 | 国产香蕉尹人综合在线观看 | 中文久久乱码一区二区 | 亚洲熟妇自偷自拍另类 | 中文精品无码中文字幕无码专区 | 精品久久久久香蕉网 | 久久精品人人做人人综合 | 中文无码成人免费视频在线观看 | 色综合久久88色综合天天 | 国产麻豆精品精东影业av网站 | 日本熟妇浓毛 | 日韩精品乱码av一区二区 | 中文无码成人免费视频在线观看 | 精品久久久久久人妻无码中文字幕 | 白嫩日本少妇做爰 | 免费男性肉肉影院 | 在教室伦流澡到高潮hnp视频 | 熟妇激情内射com | 大色综合色综合网站 | 曰韩无码二三区中文字幕 | аⅴ资源天堂资源库在线 | 久久人人爽人人爽人人片ⅴ | 国产办公室秘书无码精品99 | 成人精品一区二区三区中文字幕 | 久久精品无码一区二区三区 | 久久97精品久久久久久久不卡 | 131美女爱做视频 | 在线а√天堂中文官网 | 欧美性生交活xxxxxdddd | 99久久久无码国产aaa精品 | 国产手机在线αⅴ片无码观看 | 久久综合狠狠综合久久综合88 | 内射欧美老妇wbb | 欧美成人高清在线播放 | 永久免费观看美女裸体的网站 | 色欲综合久久中文字幕网 | 日本欧美一区二区三区乱码 | 无码人妻精品一区二区三区下载 | 黑人玩弄人妻中文在线 | 玩弄少妇高潮ⅹxxxyw | 久久综合给久久狠狠97色 | 国产九九九九九九九a片 | 免费无码午夜福利片69 | 亚洲精品美女久久久久久久 | 人妻中文无码久热丝袜 | 欧美怡红院免费全部视频 | 中文亚洲成a人片在线观看 | 色一情一乱一伦 | 男人扒开女人内裤强吻桶进去 | 国产精品久免费的黄网站 | 午夜精品一区二区三区的区别 | 国产真实夫妇视频 | 澳门永久av免费网站 | 色综合视频一区二区三区 | 亚洲欧洲日本无在线码 | 中文亚洲成a人片在线观看 | 人人妻人人澡人人爽欧美一区九九 | а√天堂www在线天堂小说 | 少妇邻居内射在线 | 日韩av无码中文无码电影 | 影音先锋中文字幕无码 | 精品久久久久久亚洲精品 | 国产小呦泬泬99精品 | 天堂无码人妻精品一区二区三区 | a在线观看免费网站大全 | 最新国产乱人伦偷精品免费网站 | 一个人看的视频www在线 | 久久人人爽人人爽人人片ⅴ | 成人无码视频免费播放 | 欧美xxxx黑人又粗又长 | 国产成人一区二区三区在线观看 | 国产亚洲精品久久久ai换 | 牲欲强的熟妇农村老妇女 | 一个人看的www免费视频在线观看 | 亚洲国产欧美国产综合一区 | 中文字幕乱码亚洲无线三区 | 大肉大捧一进一出好爽视频 | 西西人体www44rt大胆高清 | 成 人 网 站国产免费观看 | 色婷婷香蕉在线一区二区 | 精品国产一区av天美传媒 | 亚洲中文字幕成人无码 | 亚洲中文字幕无码一久久区 | 强开小婷嫩苞又嫩又紧视频 | 丰满少妇熟乱xxxxx视频 | 欧美黑人性暴力猛交喷水 | aⅴ亚洲 日韩 色 图网站 播放 | 在线精品国产一区二区三区 | 亚洲欧洲无卡二区视頻 | 好男人社区资源 | 又大又黄又粗又爽的免费视频 | 亚洲国产一区二区三区在线观看 | 国产成人精品三级麻豆 | 国产 精品 自在自线 | 全黄性性激高免费视频 | 亚洲男人av香蕉爽爽爽爽 | 性色av无码免费一区二区三区 | 天天摸天天透天天添 | √8天堂资源地址中文在线 | 久久99国产综合精品 | 无码av免费一区二区三区试看 | 欧美大屁股xxxxhd黑色 | 美女张开腿让人桶 | 精品久久8x国产免费观看 | 国产精品久久久久7777 | 成人女人看片免费视频放人 | 国产色视频一区二区三区 | 国产激情综合五月久久 | 亚洲码国产精品高潮在线 | 亚洲精品久久久久avwww潮水 | 久久综合激激的五月天 | 丁香花在线影院观看在线播放 | 国产精品国产自线拍免费软件 | 老头边吃奶边弄进去呻吟 | 强奷人妻日本中文字幕 | 红桃av一区二区三区在线无码av | 日本肉体xxxx裸交 | 大地资源中文第3页 | 给我免费的视频在线观看 | 精品无码一区二区三区的天堂 | 国产成人无码一二三区视频 | 无遮无挡爽爽免费视频 | 亚洲中文字幕久久无码 | 亚洲s色大片在线观看 | 无码av中文字幕免费放 | 乌克兰少妇性做爰 | 欧美日韩亚洲国产精品 | 撕开奶罩揉吮奶头视频 | 久久天天躁狠狠躁夜夜免费观看 | 少女韩国电视剧在线观看完整 | 亚洲成av人影院在线观看 | 国产综合色产在线精品 | 色老头在线一区二区三区 | 欧美变态另类xxxx | 国产人妻精品一区二区三区不卡 | 亚洲中文字幕久久无码 | 亚无码乱人伦一区二区 | 欧美大屁股xxxxhd黑色 | 伊人色综合久久天天小片 | 精品人妻人人做人人爽夜夜爽 | 人人妻人人澡人人爽人人精品浪潮 | 久久伊人色av天堂九九小黄鸭 | 97久久精品无码一区二区 | 国产精品久久久午夜夜伦鲁鲁 | 精品久久8x国产免费观看 | 亚洲国产精品成人久久蜜臀 | 久久亚洲精品中文字幕无男同 | 国产一区二区三区日韩精品 | 人妻互换免费中文字幕 | 日本xxxx色视频在线观看免费 | 国产成人综合美国十次 | 成人精品天堂一区二区三区 | 国产成人人人97超碰超爽8 | 精品一区二区不卡无码av | 国精产品一品二品国精品69xx | 男人的天堂av网站 | 中文字幕无线码 | 中文无码成人免费视频在线观看 | 亚洲日韩乱码中文无码蜜桃臀网站 | 老熟女重囗味hdxx69 | 午夜精品久久久久久久久 | aa片在线观看视频在线播放 | 激情人妻另类人妻伦 | 十八禁视频网站在线观看 | 丰满肥臀大屁股熟妇激情视频 | 无码人妻少妇伦在线电影 | 久久99精品国产麻豆 | 97久久精品无码一区二区 | 亚洲熟妇色xxxxx亚洲 | 国产精品.xx视频.xxtv | 欧美熟妇另类久久久久久多毛 | 国产香蕉尹人视频在线 | 国产午夜视频在线观看 | 日本一卡2卡3卡4卡无卡免费网站 国产一区二区三区影院 | 亚洲色欲色欲欲www在线 | 影音先锋中文字幕无码 | 在线精品国产一区二区三区 | 亚洲国产欧美日韩精品一区二区三区 | 18无码粉嫩小泬无套在线观看 | 午夜理论片yy44880影院 | 亚洲日韩一区二区三区 | 亚洲日本一区二区三区在线 | 国产色精品久久人妻 | 日本护士毛茸茸高潮 | 天堂а√在线中文在线 | 夫妻免费无码v看片 | 少妇人妻偷人精品无码视频 | 亚洲午夜福利在线观看 | 亚洲一区二区三区播放 | 图片小说视频一区二区 | 精品人妻人人做人人爽夜夜爽 | 风流少妇按摩来高潮 | 欧美人与善在线com | 啦啦啦www在线观看免费视频 | 亚洲欧美国产精品专区久久 | 欧美丰满少妇xxxx性 | 午夜福利试看120秒体验区 | 亚洲综合在线一区二区三区 | 国产免费久久久久久无码 | 人妻少妇被猛烈进入中文字幕 | 精品久久久中文字幕人妻 | 国产精品久久久久9999小说 | 亚洲码国产精品高潮在线 | 亚洲日韩乱码中文无码蜜桃臀网站 | 亚洲色无码一区二区三区 | 最新国产麻豆aⅴ精品无码 | 国产精品久久久久无码av色戒 | 精品夜夜澡人妻无码av蜜桃 | 99国产欧美久久久精品 | 免费中文字幕日韩欧美 | 丰腴饱满的极品熟妇 | 99国产精品白浆在线观看免费 | 久久综合九色综合欧美狠狠 | 波多野结衣av在线观看 | 久久国产精品二国产精品 | 奇米影视7777久久精品 | 妺妺窝人体色www婷婷 | 天堂а√在线地址中文在线 | 欧美日韩综合一区二区三区 | 久久综合网欧美色妞网 | 中文字幕乱妇无码av在线 | 好爽又高潮了毛片免费下载 | 欧美精品无码一区二区三区 | 亚洲国产欧美日韩精品一区二区三区 | 2020久久超碰国产精品最新 | 亚洲精品鲁一鲁一区二区三区 | a国产一区二区免费入口 | 久久精品国产99精品亚洲 | 搡女人真爽免费视频大全 | 亚洲爆乳无码专区 | 成人免费视频视频在线观看 免费 | 日日摸天天摸爽爽狠狠97 | 欧美35页视频在线观看 | 乱码av麻豆丝袜熟女系列 | 国模大胆一区二区三区 | 领导边摸边吃奶边做爽在线观看 | 国产无av码在线观看 | 午夜精品久久久久久久久 | 国产精品.xx视频.xxtv | 中国女人内谢69xxxxxa片 | 欧美国产亚洲日韩在线二区 | 精品夜夜澡人妻无码av蜜桃 | 国产免费久久久久久无码 | 日本免费一区二区三区最新 | 国产区女主播在线观看 | 欧美人与禽zoz0性伦交 | 天天摸天天透天天添 | 久久 国产 尿 小便 嘘嘘 | 国产激情艳情在线看视频 | 四虎4hu永久免费 | 国产熟妇高潮叫床视频播放 | 国产熟女一区二区三区四区五区 | 亚洲成色www久久网站 | 国产美女精品一区二区三区 | 欧美喷潮久久久xxxxx | 嫩b人妻精品一区二区三区 | 人妻有码中文字幕在线 | 一本久久伊人热热精品中文字幕 | 毛片内射-百度 | 在线 国产 欧美 亚洲 天堂 | 欧美性生交xxxxx久久久 | 婷婷五月综合激情中文字幕 | 日本爽爽爽爽爽爽在线观看免 | 精品无码一区二区三区爱欲 | 中国大陆精品视频xxxx | 欧美激情内射喷水高潮 | 国产精品内射视频免费 | 久久zyz资源站无码中文动漫 | 99精品无人区乱码1区2区3区 | 婷婷丁香六月激情综合啪 | 色欲人妻aaaaaaa无码 | 久久综合久久自在自线精品自 | 国产情侣作爱视频免费观看 | 亚洲一区二区三区在线观看网站 | 久久99精品久久久久久 | 国产亚洲视频中文字幕97精品 | 国产内射老熟女aaaa | 乱码av麻豆丝袜熟女系列 | 最新版天堂资源中文官网 | 男女作爱免费网站 | av人摸人人人澡人人超碰下载 | 国产午夜手机精彩视频 | 欧美性色19p | 欧美人与禽zoz0性伦交 | 国产亚洲美女精品久久久2020 | 国产特级毛片aaaaaa高潮流水 | 在线观看欧美一区二区三区 | 久久精品一区二区三区四区 | 成熟女人特级毛片www免费 | 久久午夜无码鲁丝片秋霞 | 色欲综合久久中文字幕网 | 欧美精品一区二区精品久久 | √天堂资源地址中文在线 | 1000部夫妻午夜免费 | 亚洲精品国产品国语在线观看 | 日本精品高清一区二区 | 一本精品99久久精品77 | 国产av久久久久精东av | 精品国产av色一区二区深夜久久 | 成人影院yy111111在线观看 | 狠狠综合久久久久综合网 | 国产精品丝袜黑色高跟鞋 | 亚洲日本va中文字幕 | 久久无码中文字幕免费影院蜜桃 | 狠狠噜狠狠狠狠丁香五月 | 性欧美疯狂xxxxbbbb | 99精品国产综合久久久久五月天 | 国产av剧情md精品麻豆 | 欧美日韩亚洲国产精品 | 六月丁香婷婷色狠狠久久 | 国产亲子乱弄免费视频 | 精品无码国产自产拍在线观看蜜 | 亚洲色www成人永久网址 | 日韩 欧美 动漫 国产 制服 | 亚洲 欧美 激情 小说 另类 | 伊人久久婷婷五月综合97色 | 成人一区二区免费视频 | 少妇无码av无码专区在线观看 | 偷窥日本少妇撒尿chinese | 久久国产精品偷任你爽任你 | 伊人久久大香线蕉亚洲 | 双乳奶水饱满少妇呻吟 | 人妻aⅴ无码一区二区三区 | 亚洲国产高清在线观看视频 | 波多野结衣av一区二区全免费观看 | 在线亚洲高清揄拍自拍一品区 | 欧美亚洲国产一区二区三区 | 国产办公室秘书无码精品99 | 亚洲狠狠色丁香婷婷综合 | 红桃av一区二区三区在线无码av | 日本丰满熟妇videos | 蜜桃av抽搐高潮一区二区 | 熟女体下毛毛黑森林 | 久久久久久久女国产乱让韩 | 国产热a欧美热a在线视频 | 国内丰满熟女出轨videos | 国产无遮挡又黄又爽免费视频 | 色 综合 欧美 亚洲 国产 | 性欧美大战久久久久久久 | 99久久久无码国产aaa精品 | 蜜桃臀无码内射一区二区三区 | 国产色xx群视频射精 | 亚洲成a人片在线观看无码3d | 成人毛片一区二区 | 中文字幕日产无线码一区 | 日韩精品乱码av一区二区 | 国产精品久久久久影院嫩草 | 日本成熟视频免费视频 | 日韩亚洲欧美精品综合 | 丰腴饱满的极品熟妇 | yw尤物av无码国产在线观看 | 亚洲日韩av片在线观看 | 内射巨臀欧美在线视频 | 国产内射爽爽大片视频社区在线 | 久久精品女人天堂av免费观看 | 国产激情无码一区二区app | 性色av无码免费一区二区三区 | 少妇无码吹潮 | 亚洲七七久久桃花影院 | 精品久久久久香蕉网 | 精品国偷自产在线视频 | 欧美 日韩 人妻 高清 中文 | 日本精品人妻无码免费大全 | 色妞www精品免费视频 | 亚洲精品国产精品乱码不卡 | 国产精品久久久久9999小说 | 色狠狠av一区二区三区 | 99精品视频在线观看免费 | 蜜桃av蜜臀av色欲av麻 999久久久国产精品消防器材 | 国产熟女一区二区三区四区五区 | 国产又粗又硬又大爽黄老大爷视 | 中文字幕人成乱码熟女app | 国产女主播喷水视频在线观看 | 精品久久久无码人妻字幂 | 日本大乳高潮视频在线观看 | 夜夜高潮次次欢爽av女 | 亚洲精品午夜无码电影网 | 国产成人精品优优av | 亚洲日韩av一区二区三区四区 | 初尝人妻少妇中文字幕 | 精品亚洲韩国一区二区三区 | 中文字幕日韩精品一区二区三区 | 久久这里只有精品视频9 | 国产真人无遮挡作爱免费视频 | 国产网红无码精品视频 | 国产特级毛片aaaaaaa高清 | 亚洲午夜福利在线观看 | 国产精品久久久久9999小说 | 国产极品视觉盛宴 | 久久aⅴ免费观看 | 女人被男人躁得好爽免费视频 | 亚洲第一无码av无码专区 | 亚洲国产精品一区二区美利坚 | 国产特级毛片aaaaaaa高清 | 色综合久久久无码网中文 | 亚洲精品一区二区三区婷婷月 | 日日鲁鲁鲁夜夜爽爽狠狠 | 亚洲天堂2017无码中文 | 狠狠色丁香久久婷婷综合五月 | 99精品视频在线观看免费 | 中文字幕乱码人妻无码久久 | 樱花草在线播放免费中文 | 18禁黄网站男男禁片免费观看 | 亚洲欧美精品aaaaaa片 | 亚洲爆乳大丰满无码专区 | 久久久精品成人免费观看 | 国产午夜福利100集发布 | 真人与拘做受免费视频 | 蜜桃视频插满18在线观看 | 久久精品国产一区二区三区肥胖 | 天海翼激烈高潮到腰振不止 | 亚洲成av人在线观看网址 | 国产精品理论片在线观看 | 国产97在线 | 亚洲 | 东京热男人av天堂 | 国产av一区二区三区最新精品 | 狠狠色欧美亚洲狠狠色www | 三级4级全黄60分钟 | 免费男性肉肉影院 | 性欧美大战久久久久久久 | 人妻与老人中文字幕 | 老子影院午夜精品无码 | 纯爱无遮挡h肉动漫在线播放 | 欧美人与善在线com | 成人免费视频在线观看 | 国产sm调教视频在线观看 | 亚洲欧美综合区丁香五月小说 | 国产美女极度色诱视频www | 久久国产自偷自偷免费一区调 | 在线精品国产一区二区三区 | 天堂无码人妻精品一区二区三区 | 久久99热只有频精品8 | 国产成人无码av一区二区 | 亚洲成在人网站无码天堂 | 日日天干夜夜狠狠爱 | 国产成人无码a区在线观看视频app | 日产精品高潮呻吟av久久 | 思思久久99热只有频精品66 | 老太婆性杂交欧美肥老太 | 国产精品高潮呻吟av久久 | 国产精品.xx视频.xxtv | 国产精品理论片在线观看 | 国产精品丝袜黑色高跟鞋 | 丰满诱人的人妻3 | 精品日本一区二区三区在线观看 | 久久久久久a亚洲欧洲av冫 | 国产无遮挡又黄又爽又色 | 成人免费视频视频在线观看 免费 | 人妻天天爽夜夜爽一区二区 | 中文字幕无码热在线视频 | 亚洲乱码日产精品bd | 超碰97人人射妻 | 欧美人与禽zoz0性伦交 | 久久亚洲精品中文字幕无男同 | 天堂亚洲2017在线观看 | 国产熟女一区二区三区四区五区 | 日韩人妻无码一区二区三区久久99 | 婷婷六月久久综合丁香 | 香港三级日本三级妇三级 | 国产精品久久久久久无码 | 亚洲色欲色欲天天天www | 中文无码成人免费视频在线观看 | 色综合视频一区二区三区 | 内射巨臀欧美在线视频 | 亚洲国产高清在线观看视频 | 亚洲综合无码一区二区三区 | 国产精品高潮呻吟av久久 | 亚洲综合在线一区二区三区 | 国产成人无码午夜视频在线观看 | 亚洲国精产品一二二线 | 亚洲欧美日韩综合久久久 | 国产 浪潮av性色四虎 | 天天综合网天天综合色 | 99视频精品全部免费免费观看 | 无码av岛国片在线播放 | 精品欧洲av无码一区二区三区 | 国产97色在线 | 免 | 国产极品美女高潮无套在线观看 | 18精品久久久无码午夜福利 | a在线亚洲男人的天堂 | 欧美成人午夜精品久久久 | 人人妻人人澡人人爽人人精品 | 国产精品人人爽人人做我的可爱 | 四虎影视成人永久免费观看视频 | 无遮挡国产高潮视频免费观看 | 日本熟妇大屁股人妻 | ass日本丰满熟妇pics | 美女毛片一区二区三区四区 | 性生交大片免费看l | 亚洲aⅴ无码成人网站国产app | 亚洲码国产精品高潮在线 | 久久久久久亚洲精品a片成人 | 自拍偷自拍亚洲精品被多人伦好爽 | 国产精品无码一区二区桃花视频 | 亚洲色www成人永久网址 | 青春草在线视频免费观看 | 午夜嘿嘿嘿影院 | 日本一区二区三区免费高清 | 久久精品人人做人人综合试看 | 国产精品va在线播放 | 性欧美大战久久久久久久 | 乱码av麻豆丝袜熟女系列 | 97久久国产亚洲精品超碰热 | 亚洲熟妇色xxxxx亚洲 | 动漫av一区二区在线观看 | 超碰97人人做人人爱少妇 | 精品厕所偷拍各类美女tp嘘嘘 | 波多野结衣av一区二区全免费观看 | 国产美女极度色诱视频www | 1000部啪啪未满十八勿入下载 | 国产艳妇av在线观看果冻传媒 | 性欧美熟妇videofreesex | 久久人人爽人人人人片 | av无码久久久久不卡免费网站 | 国内老熟妇对白xxxxhd | 精品国精品国产自在久国产87 | 国产成人精品一区二区在线小狼 | 男女性色大片免费网站 | 国精产品一品二品国精品69xx | 婷婷丁香五月天综合东京热 | 一个人看的www免费视频在线观看 | 精品国产乱码久久久久乱码 | 一本无码人妻在中文字幕免费 | 婷婷色婷婷开心五月四房播播 | 扒开双腿疯狂进出爽爽爽视频 | 在线精品亚洲一区二区 | а√天堂www在线天堂小说 | 西西人体www44rt大胆高清 | 少妇人妻大乳在线视频 | 国产麻豆精品一区二区三区v视界 | 亚洲国产精华液网站w | 99久久人妻精品免费二区 | 强开小婷嫩苞又嫩又紧视频 | 久久综合久久自在自线精品自 | 亚洲日韩乱码中文无码蜜桃臀网站 | 又紧又大又爽精品一区二区 | 波多野结衣高清一区二区三区 | 久久久久国色av免费观看性色 | 亚洲精品国产精品乱码视色 | 国产人妻人伦精品 | 久久午夜无码鲁丝片午夜精品 | 人妻与老人中文字幕 | 日本乱人伦片中文三区 | a片免费视频在线观看 | 东北女人啪啪对白 | а天堂中文在线官网 | 国产精品欧美成人 | 成人无码视频免费播放 | 亚洲熟熟妇xxxx | 日本一区二区三区免费播放 | 亚洲成a人片在线观看日本 | 亚洲色欲久久久综合网东京热 | 国产精品久久久久久久9999 | 无码人妻出轨黑人中文字幕 | 亚洲日韩av一区二区三区四区 | 18无码粉嫩小泬无套在线观看 | 日韩av无码一区二区三区不卡 | 国产精品久久久久久亚洲毛片 | 国内揄拍国内精品少妇国语 | 无码人妻av免费一区二区三区 | 沈阳熟女露脸对白视频 | 综合人妻久久一区二区精品 | 在线视频网站www色 | 国产精品美女久久久久av爽李琼 | 乱人伦人妻中文字幕无码 | 乱码午夜-极国产极内射 | 成人欧美一区二区三区黑人 | 亚洲精品一区三区三区在线观看 | 国产精品爱久久久久久久 | 亚洲国产精品美女久久久久 | 小sao货水好多真紧h无码视频 | 亚洲国产欧美国产综合一区 | 久久成人a毛片免费观看网站 | 午夜福利一区二区三区在线观看 | 中文字幕乱码中文乱码51精品 | 人妻体内射精一区二区三四 | 国产精品久久久久影院嫩草 | 少妇厨房愉情理9仑片视频 | 亚洲va欧美va天堂v国产综合 | 国产精品多人p群无码 | 国产办公室秘书无码精品99 | 乱人伦中文视频在线观看 | 荫蒂被男人添的好舒服爽免费视频 | 亚洲精品午夜国产va久久成人 | 99久久精品国产一区二区蜜芽 | 亚洲国产精品一区二区美利坚 | 一本无码人妻在中文字幕免费 | 亚洲欧美日韩国产精品一区二区 | 亚洲一区av无码专区在线观看 | 色妞www精品免费视频 | 久久伊人色av天堂九九小黄鸭 | 欧美猛少妇色xxxxx | 4hu四虎永久在线观看 | 亚洲熟妇色xxxxx欧美老妇y | 国产精品免费大片 | 国产激情精品一区二区三区 | 日本熟妇人妻xxxxx人hd | 亚洲aⅴ无码成人网站国产app | 荫蒂被男人添的好舒服爽免费视频 | 亚洲小说图区综合在线 | 精品亚洲成av人在线观看 | 亚洲精品国产品国语在线观看 | 欧美日本精品一区二区三区 | 国产av人人夜夜澡人人爽麻豆 | 久久久久久久人妻无码中文字幕爆 | 亚洲一区二区三区在线观看网站 | 一区二区三区高清视频一 | 天堂а√在线中文在线 | 精品aⅴ一区二区三区 | 免费观看黄网站 | 国内少妇偷人精品视频 | 亚洲七七久久桃花影院 | 亚洲s码欧洲m码国产av | 国产舌乚八伦偷品w中 | 夜夜高潮次次欢爽av女 | 动漫av网站免费观看 | 成在人线av无码免观看麻豆 | 免费视频欧美无人区码 | 国产精品久免费的黄网站 | 久久久精品成人免费观看 | 一个人看的视频www在线 | 日本熟妇人妻xxxxx人hd | 午夜精品一区二区三区的区别 | 色噜噜亚洲男人的天堂 | 性生交片免费无码看人 | 性做久久久久久久久 | 国产在线精品一区二区三区直播 | 精品国产一区二区三区四区 | 久久99热只有频精品8 | 国产精品18久久久久久麻辣 | 久久精品中文闷骚内射 | 中文字幕久久久久人妻 | 99麻豆久久久国产精品免费 | 一本久久伊人热热精品中文字幕 | 乌克兰少妇性做爰 | 在线亚洲高清揄拍自拍一品区 | 三级4级全黄60分钟 | 亚洲の无码国产の无码步美 | 国产97色在线 | 免 | 国语自产偷拍精品视频偷 | 国产熟女一区二区三区四区五区 | 久久精品女人天堂av免费观看 | 97无码免费人妻超级碰碰夜夜 | 人妻少妇精品无码专区二区 | 少妇无码一区二区二三区 | 97久久国产亚洲精品超碰热 | 国产午夜无码视频在线观看 | 国产av一区二区三区最新精品 | 欧美成人免费全部网站 | 久久精品中文字幕大胸 | 最新版天堂资源中文官网 | 人人妻人人澡人人爽人人精品 | 色综合视频一区二区三区 | 性史性农村dvd毛片 | 漂亮人妻洗澡被公强 日日躁 | 在线观看国产一区二区三区 | 亚洲综合在线一区二区三区 | 午夜性刺激在线视频免费 | 人人妻人人澡人人爽欧美一区九九 | 亚洲精品国偷拍自产在线麻豆 | 老司机亚洲精品影院无码 | 精品国产精品久久一区免费式 | 最新国产乱人伦偷精品免费网站 | 久久亚洲国产成人精品性色 | 国产亚洲欧美日韩亚洲中文色 | 色综合久久久久综合一本到桃花网 | 永久免费观看美女裸体的网站 | 亚洲男女内射在线播放 | 九九热爱视频精品 | 精品无码一区二区三区爱欲 | 欧美怡红院免费全部视频 | 欧美日韩在线亚洲综合国产人 | 亚洲一区二区三区偷拍女厕 | 久久久久免费看成人影片 | 亚洲成a人片在线观看无码3d | 午夜精品一区二区三区在线观看 | 日韩精品成人一区二区三区 | 国产成人无码一二三区视频 | 国产午夜亚洲精品不卡 | 亚洲国产精品毛片av不卡在线 | 久久综合网欧美色妞网 | 亚洲一区二区三区含羞草 | 欧美老熟妇乱xxxxx | 人人爽人人爽人人片av亚洲 | 欧美人与善在线com | 精品久久综合1区2区3区激情 | 精品偷拍一区二区三区在线看 | 无码国内精品人妻少妇 | 人妻无码αv中文字幕久久琪琪布 | 无遮挡啪啪摇乳动态图 | 永久免费观看美女裸体的网站 | 正在播放老肥熟妇露脸 | 白嫩日本少妇做爰 | 亚洲精品综合一区二区三区在线 | 内射白嫩少妇超碰 | 四虎影视成人永久免费观看视频 | 亚洲精品一区二区三区大桥未久 | 乱人伦人妻中文字幕无码 | 国产精品18久久久久久麻辣 | 亚洲小说图区综合在线 | 亚洲高清偷拍一区二区三区 | 国产av无码专区亚洲awww | 色欲综合久久中文字幕网 | 久久精品成人欧美大片 | 黑森林福利视频导航 | 无码乱肉视频免费大全合集 | 国产日产欧产精品精品app | 久久久久亚洲精品男人的天堂 | 国产精品久久久久久久9999 | 亚洲国产精品久久久久久 | 亚洲精品久久久久久久久久久 | 国产成人精品必看 | 人人超人人超碰超国产 | 久久久久久av无码免费看大片 | 免费人成在线观看网站 | 曰韩少妇内射免费播放 | 性色av无码免费一区二区三区 | 亚洲va欧美va天堂v国产综合 | 国产成人精品无码播放 | 精品久久8x国产免费观看 | 亚洲综合无码一区二区三区 | 欧洲熟妇精品视频 | 女人被爽到呻吟gif动态图视看 | 午夜精品久久久内射近拍高清 | 黑人玩弄人妻中文在线 | 人妻少妇精品无码专区二区 | 亚洲国产精品美女久久久久 | 精品久久久无码人妻字幂 | 特大黑人娇小亚洲女 | 99精品久久毛片a片 | а√资源新版在线天堂 | 欧美激情内射喷水高潮 | 国产后入清纯学生妹 | 色综合久久久久综合一本到桃花网 | 国产97在线 | 亚洲 | 中文字幕无码热在线视频 | 国产情侣作爱视频免费观看 | 亚洲中文字幕无码中字 | 亚洲精品一区三区三区在线观看 | 99精品国产综合久久久久五月天 | 2020最新国产自产精品 | 天海翼激烈高潮到腰振不止 | 人妻插b视频一区二区三区 | 黑人巨大精品欧美一区二区 | 午夜性刺激在线视频免费 | 亚洲中文字幕无码一久久区 | 人妻少妇精品久久 | 国产精品第一国产精品 | 永久免费观看国产裸体美女 | 亚洲国产欧美日韩精品一区二区三区 | 高潮毛片无遮挡高清免费视频 | 未满成年国产在线观看 | 人妻aⅴ无码一区二区三区 | 在线观看国产一区二区三区 | 国产香蕉尹人综合在线观看 | 一二三四在线观看免费视频 | 亚欧洲精品在线视频免费观看 | 综合网日日天干夜夜久久 | 亚洲七七久久桃花影院 | 131美女爱做视频 | 久久综合给合久久狠狠狠97色 | 亚洲成色www久久网站 | 日韩精品无码免费一区二区三区 | 国产后入清纯学生妹 | 俺去俺来也在线www色官网 | 1000部夫妻午夜免费 | 久久久久99精品成人片 | 伊人色综合久久天天小片 | v一区无码内射国产 | 国内精品九九久久久精品 | 国产电影无码午夜在线播放 | aa片在线观看视频在线播放 | 亚洲精品国产精品乱码视色 | 天天躁夜夜躁狠狠是什么心态 | 性色欲网站人妻丰满中文久久不卡 | 亚洲狠狠婷婷综合久久 | 东京无码熟妇人妻av在线网址 | 狠狠cao日日穞夜夜穞av | 蜜桃av抽搐高潮一区二区 | 亚洲综合久久一区二区 | 国产疯狂伦交大片 | 亚洲男人av香蕉爽爽爽爽 | 国产精品人妻一区二区三区四 | 麻豆精品国产精华精华液好用吗 | 男人的天堂2018无码 | 丰满人妻翻云覆雨呻吟视频 | 国产内射爽爽大片视频社区在线 | 久久午夜无码鲁丝片午夜精品 | 日韩精品久久久肉伦网站 | 中文久久乱码一区二区 | 国产熟妇另类久久久久 | v一区无码内射国产 | 99久久久国产精品无码免费 | www一区二区www免费 | 亚洲精品久久久久久一区二区 | 99久久婷婷国产综合精品青草免费 | 国产亚洲精品久久久久久国模美 | 荫蒂被男人添的好舒服爽免费视频 | 国产农村妇女高潮大叫 | 在线播放无码字幕亚洲 | 国产乱子伦视频在线播放 | 国产真实夫妇视频 | 欧美人妻一区二区三区 | 免费播放一区二区三区 | 少妇人妻av毛片在线看 | 国产麻豆精品一区二区三区v视界 | 欧美性生交xxxxx久久久 | 99精品视频在线观看免费 | 熟女少妇人妻中文字幕 | 亚洲人成网站在线播放942 | 麻豆成人精品国产免费 | 77777熟女视频在线观看 а天堂中文在线官网 | 久久精品国产99久久6动漫 | 男女爱爱好爽视频免费看 | 玩弄中年熟妇正在播放 | 国产精品va在线播放 | 激情亚洲一区国产精品 | 人妻aⅴ无码一区二区三区 | 国产无遮挡吃胸膜奶免费看 | 久久久精品成人免费观看 | 精品成人av一区二区三区 | 日本熟妇人妻xxxxx人hd | 国内揄拍国内精品人妻 | 欧美成人免费全部网站 | 亚洲色成人中文字幕网站 | 亚洲色无码一区二区三区 | 国产亚洲日韩欧美另类第八页 | 精品国产福利一区二区 | 免费观看又污又黄的网站 | 国产精品福利视频导航 | 十八禁真人啪啪免费网站 | 免费观看激色视频网站 | 狂野欧美性猛交免费视频 | 亚洲成av人影院在线观看 | 国产无遮挡又黄又爽免费视频 | 国产成人无码午夜视频在线观看 | 亚洲色欲色欲天天天www | 久久婷婷五月综合色国产香蕉 | 激情综合激情五月俺也去 | 久久综合久久自在自线精品自 | 丰满肥臀大屁股熟妇激情视频 | 国产97在线 | 亚洲 | 国产艳妇av在线观看果冻传媒 | 欧美性猛交xxxx富婆 |