日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

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

编程问答

天天学算法——搜索热词关联(TopK)

發布時間:2023/12/20 编程问答 45 豆豆
生活随笔 收集整理的這篇文章主要介紹了 天天学算法——搜索热词关联(TopK) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

目錄:

  • 《劍指offer》面試題-topk算法
  • 搜索熱詞關聯算法
  • 代碼實現以及java學習

寫在前面

每次寫博客都愛先扯點亂七八糟的東西,這是工作準備寫的第2篇博客,之前寫過一篇hadoop入門,那里還留下了一個搜索引擎的demo沒有去完成,這次學習熱詞關聯剛好也是和搜索引擎相關,所以借此機會把這篇記錄下來,一方面花了3天來學習了這個內容,確實學到了不少東西,二來下次寫搜索引擎的hadoop的demo時候可以把這個整合到一起,如果有空把關于搜索的東西整合到一起,添加一些爬蟲相關的只是內容,就可以簡單的搭建一個搜索引擎了,想想還是挺不錯的。好啦,我們來開始學習吧!

topK算法


這個題目實現不難,在沒有什么限制的情況下我們很快能得到答案。

解法1 排序

對數組排序,然后找到最小的k個數字,這個思路和粗暴,實際上我們把問題轉化成了排序算法,那么合理的想法就是去找排序中時間復雜度最小的快排(O(nlgn)),這里對于此方法有一個問題就是在于需要改變原數組,如果題目中存在此種限制,自然是需要考慮其他算法。

解法2 partition算法

parition算法,說起這個算法可能對于算法不太熟悉的同學真沒什么印象,但是如果說快排大家肯定都知道了。我先貼一段java實現的代碼給大家看一看。

//快速排序 雖然快排思想比較簡單,但是有些=還是需要注意一下勒,網上不少博客的代碼都有點小問題,所以自己寫了跑了下才貼出來。public static void qsort(int[] arr,int begin,int end) {int index = partition(arr, begin,end);if(begin >= end -1) {return; }qsort(arr,begin,index-1);qsort(arr,index+1,end);} //用一個哨兵來分割大于小于的兩部分private static int partition(int[] arr,int begin,int end) {if(begin >= end) {return -1;}int pos = arr[begin];while(begin < end) {while(arr[end] >= pos && begin < end) {end --;}if(begin < end) {arr[begin] = arr[end];}while(arr[begin] <= pos && begin < end) {begin ++;}if(begin < end) {arr[end] = arr[begin];}}arr[begin] = pos;return begin;}

以上代碼中有很重要的一塊就是partition,很多快排的寫法里面沒有將其作為單獨的一個函數,他的思想就是取出一個哨兵,然后把大于他的放到一邊,小于他的放到另一邊。這樣如果我們按著這個思路,先找到一個數partition一次,判斷這個樹的最終位置是不是在k處,如果大于則找前面的部分(假設左小右大),如此直到我們找到第k個值的位置,此時k之前的都比k小,就得到了題解。下面我大概舉個例子,給大家一個形象的表示。
arr = 4,3,5,9,2,4,6 找到最小的3個值
partition1 2 3 4 9 5 4 6 index = 3 分了一次剛好index返回3,所以最小的是2 3 4,對沒毛病!
那我們現在來看一看這個算法的時間復雜度,逆序的時候復雜度最高為O(n^2),如果是隨機的話,T(N) = T(T/2) + N,時間復雜度為O(N)。那么我們可以在O(N)的時間復雜度把這個問題給解決了。這比上述排序好多了,因為針對上述排序中,我們每次都要把序列找到一個哨兵然后左右都要去排序,這個時候,我們只處理我們需要處理的部分,時間復雜度就降低了下來。雖然簡單,還是畫個圖表示一下下。如下圖,如果我們想要去找前3小的數字時,如果哨兵是5,那么我們就可以不用管后面部分,只需要考慮前面綠色填充的數字,這樣節約了很多時間。

但是這個算法仍然有點問題,同解法1,這個算法會調整數據,當數據量不斷增加時,我們有時候希望能增量式的去處理,而不是每次有數據進來都乾坤大挪移,那么我們需要考慮外部存儲來輔助這個算法保證這個原數組不會改變。

解法3 外部存儲-小(大)根堆

我們日常也會遇到這樣的算法例子,偶爾我們會用一個外部數組來存儲,每次進來一個數字就判斷。比如我們想找一個數組里面最大的3個數字,我開一個3空間的數組,那么我們遍歷一次原數組,找到最大的3個依次放入,每次放入時和外部數組比較一下,這樣也可以在O(N)時間內完成,且不改變原數組,好啦。貌似我們對這個算法已經了解的很深入了。
且慢,各位看客想一想,如果這個N非常非常大時候,如果我們要在幾百萬的數據中找前10,那會有什么不同么。對于算法復雜度來說,O(N)應該是不可避免了,至少每個數字都要遍歷到,但是對于大數據處理來說,復雜度中隱藏的時間常熟因子也是十分關鍵的。我們現在來分析一波,對于外部數組,如果我們是找最大的K個數,那么我們每次需要找到數組中最小的,如果最小我們就要替換,所以會有替換操作。那么對于一個無順序數組的話,大概O(K)可以完成,然后我們算法整體就是O(K*N),如果我們來維護一個有序數組的話,開銷沒什么區別。如果熟悉數據結構的同學,現在一定看出問題了,我們需要用堆來完成這些操作,取最小堆可以O(1),來完成,而插入堆也可以在O(lgN)完成(平均),OK,數據量一大時候,這個差異是非常大的,先給大家看一個感性的認識,我沒有具體去算時間,只是進行了一下對比,heap為我自己實現的小根堆,orderarr是網上借鑒的別人實現的有序數組。下面應該十分明顯了,k小時沒有啥區別,k的變大,這個差距會越來越大。

int n = 3000000;int k = 100;orderarr程序運行時間: 16msheap程序運行時間: 13msint n = 3000000;int k = 100000;orderarr程序運行時間: 5137msheap程序運行時間: 59ms

算法不難,此處介紹一下思路即可,晚上有很多介紹堆思路的,算法導論中有heapify來維護堆的,java中的優先隊列好像是用shiftup,shitfdown來維護insert操作,個人覺得都可以,思想都是一致的。大家有興趣可以翻翻我的github,文末給出,我把這些代碼都放在里面,有不對之處大家也可以指教。

public static void testHeap(int n,int k) {int[] arr = new int[n];Random random = new Random();for(int i=0;i<arr.length;i++) {arr[i] = random.nextInt();}int length = arr.length;MinHeap mHeap = new MinHeap();long startTime=System.currentTimeMillis(); //獲取開始時間 for(int i=0;i<length;i++) {if(i<=k-1) {mHeap.insert(arr[i]);}else {if(arr[i] > mHeap.getTop()) {mHeap.removeTop();mHeap.insert(arr[i]);}}} // mHeap.show();long endTime=System.currentTimeMillis(); //獲取結束時間 System.out.println("heap程序運行時間: "+(endTime-startTime)+"ms"); }

熱詞搜索提示

現在終于到正題了,之前半天都是在介紹算法,現在也講講該算法的應用,現在xx搜索引擎公司需要根據用戶的輸入來給其他用戶做輸入提示,那么我們有很多輸入詞條,現在需要提示熱度最高的。這實際就是一個topK問題,額外之處一個是操作對象不在是一個整數,而是一個鍵值對,另外一個問題是我們需要構建一顆trie樹來幫助我們找到需要排序的詞語。當然對于日志信息來說,數據是一條一條的,我們還需要用到hash表來幫我們進行統計。

第一步 hashMap統計

對于hash表來說,沒有特別要多說的,統計一個大數據量,如果內存夠的話,一張hash表無疑是很好的選擇,O(n)的時間就可以搞定,當然這個大數據也是有一個限制的,如果上T或者更大,那可能就需要想其他的辦法了。G級別的這個還是沒問題的。此處我們使用java中的hashMap來完成。

第二步 構建trie樹

因為涉及到應用,當輸入“北”的時候,希望能提示“北京”,或者“北?!?#xff0c;不能提示“南京”吧,那么我們需要有一顆前綴樹來實現,每次找到輸入的節點的子樹,對子樹中的節點遍歷,取得最大的K個,為了方便,前綴樹結構如下,每個節點放置到當前節點位置的所有字符,并且添加對應頻次,路過的詞語頻次為0,結構圖大致如下。

第三部 topK算法

topK說的很多了,我們需要改成能針對鍵值對的就OK啦! ~^_^~

代碼實現以及java學習

決策樹部分

下面是決策樹的實現,決策樹中學習到的一個比較重要的點就是需要自己實現一個迭代器,之前的數組可以直接遍歷,for循環就可以了,但是樹沒有這么簡單,便需要實現一個iterator來幫助完成遍歷。

首先class需要實現Iterable接口,調用x.iterator()返回一個Iterator類,這個類通常含有2個方法,hasnext(),next()。結構如下,具體請查看其他介紹,此處不贅述。 public class MyIteratorClass implements Iterable{@Overridepublic Iterator iterator() {// TODO Auto-generated method stubreturn new MyIterator;}private class MyIterator implements Iterator<TrieNode>{@Override//返回是否還有下一個值public boolean hasNext() {return null;}@Override//返回下一個迭代的值public TrieNode next() {return null;} import java.util.ArrayList; import java.util.Iterator; import java.util.LinkedList; import java.util.List; import java.util.Queue; import datastructure.TrieTree.TrieNode;public class TrieTree implements Iterable{ private TrieNode root;public static void main(String[] args) {TrieTree trieTree = new TrieTree();trieTree.insert("北京動物園", 2);trieTree.insert("北京天安門", 3);trieTree.insert("北京", 1);String word = "北京";TrieNode subTree = trieTree.getSubTreeByWord(word);Iterator<TrieNode> iterator = trieTree.iterator(subTree);while(iterator.hasNext()) {TrieNode node = iterator.next();System.out.println(node.value + " " + node.count);}//trieTree.showTrieTree();}public TrieNode getRoot() {return root;}public TrieTree() {root = new TrieNode("root",0);}public class TrieNode{private String value;private ArrayList<TrieNode> son;private int count; //當前路徑上統計數public TrieNode() {// TODO Auto-generated constructor stubthis.value = "null";this.count = 0;this.son = new ArrayList<TrieNode>();}public TrieNode(String value,int count) {// TODO Auto-generated constructor stubthis.value = value;this.count = count;this.son = new ArrayList<TrieNode>();}public String getValue() {return value;}public int getCount() {return count;}}//根據輸入獲取子樹public TrieNode getSubTreeByWord(String str) {return _getSubTreeByWord(root,str);}private TrieNode _getSubTreeByWord(TrieNode root,String str) {int sonNum = root.son == null? 0 :root.son.size();if(root.value.equals(str)) {return root;}for(int i=0;i<sonNum;i++) {TrieNode node = _getSubTreeByWord(root.son.get(i),str);if(node != null) {return node;}}return null;}//插入時,把count放在最后一個節點上public void insert(String str,int count) {_insertNode(root, str, count ,1);}private void _insertNode(TrieNode root,String str,int count ,int index) {int sonNum = root.son.size();int findFlag = 0;for(int i=0;i<sonNum;i++) {if(root.son.get(i).value.equals(str.substring(0, index))) {findFlag = 1;if(str.length() == index) {root.son.get(i).count = count;return;}else {_insertNode(root.son.get(i), str, count ,index+1);}break;}}//遍歷之后沒有找到就創建一個if(findFlag == 0) {// System.out.println(str.substring(0, index));String newValue = str.substring(0, index);int newCount = index != str.length() ? 0 : count;TrieNode sonNode = new TrieNode(newValue,newCount);root.son.add(sonNode);if(str.length() != index) {_insertNode(sonNode, str, count ,index+1);}}}//循環遍歷輸出字典樹內容public void showTrieTree() {_showTrieTree(root);}private void _showTrieTree(TrieNode root) {System.out.println(root.value + root.count);int sonNum = root.son.size();for(int i=0;i<sonNum;i++) {_showTrieTree(root.son.get(i));}}@Overridepublic Iterator<TrieNode> iterator() {// TODO Auto-generated method stubreturn new TrieTreeIterator();}public Iterator<TrieNode> iterator(TrieNode itrRoot) {// TODO Auto-generated method stubreturn new TrieTreeIterator(itrRoot);}private class TrieTreeIterator implements Iterator<TrieNode>{private TrieNode next;private Queue<TrieNode> queue;public TrieTreeIterator() {// TODO Auto-generated constructor stubnext = root;queue = new LinkedList<TrieNode>();if(next == null) {return;}}public TrieTreeIterator(TrieNode itrRoot) {// TODO Auto-generated constructor stubnext = itrRoot;queue = new LinkedList<TrieNode>();if(next == null) {return;}}@Overridepublic boolean hasNext() {// TODO Auto-generated method stubint sonNum = next.son.size();for(int i=0;i<sonNum;i++) {queue.add(next.son.get(i));}if(queue.isEmpty()) {return false;}else {return true;}}@Overridepublic TrieNode next() {// TODO Auto-generated method stubnext = queue.remove();return next;}}}

Heap部分

此處借鑒了網友的代碼,但是不記得哪里抄來的了,抱歉。
這里學到的比較重要的東西就是泛型的使用,對于這份代碼來說,是適用與int的,但是我想拿這份代碼來做鍵值對的處理,利用泛型和提供的Comparator就可以很方便的實現代碼的復用。此處我定義了鍵值對的類型,提供了一些基礎方法。然后出現了另外一個重要的問題,那就是關于對象復制的問題,這里學習了深克隆的方式,如果setRoot方法不傳入clone(),則只是傳入了索引,而不是對堆內進行賦值,這樣邏輯上有誤。所以這里傳入一定是clone的內容。關于clone有深淺之分,這里我使用了序列化的方式,下面這博客寫的不錯,推一推。
克隆學習:https://www.cnblogs.com/Qian123/p/5710533.html

//代碼復用可以學習的地方//這是之前的代碼 int[] arr = new int[n] //此處省略,很多,這里重點在于描述差異之處 mHeap.setRoot(arr[i]);//這是修改后的代碼 KeyPair<String, Integer> tempKeyPair = new KeyPair<String, Integer>("", 0); mHeap.setRoot(tempKeyPair.clone()); //建立heap來做鍵值對比較 Comparator<KeyPair<String, Integer>> comp = new Comparator<KeyPair<String, Integer>>() { @Overridepublic int compare(KeyPair<String, Integer> o1, KeyPair<String, Integer> o2) {// TODO Auto-generated method stubreturn o2.getValue() - o1.getValue();} }; //克隆可以學習的部分,序列化方式克隆。public class KeyPair<K, V> implements Serializable {private K key;private V value;public KeyPair clone() {KeyPair outer = null;try { // 將該對象序列化成流,因為寫在流里的是對象的一個拷貝,而原對象仍然存在于JVM里面。所以利用這個特性可以實現對象的深拷貝ByteArrayOutputStream baos = new ByteArrayOutputStream();ObjectOutputStream oos = new ObjectOutputStream(baos);oos.writeObject(this);// 將流序列化成對象ByteArrayInputStream bais = new ByteArrayInputStream(baos.toByteArray());ObjectInputStream ois = new ObjectInputStream(bais);outer = (KeyPair) ois.readObject();} catch (IOException e) {e.printStackTrace();} catch (ClassNotFoundException e) {e.printStackTrace();}return outer;}} public class Heap<T> { /** * 以數組形式存儲堆元素 */ private T[] heap; /** * 用于比較堆中的元素。c.compare(根,葉子) > 0。 * 使用相反的Comparator可以創建最大堆、最小堆。 */ private Comparator<T> c; public Heap(T[] a, Comparator<T> c) { this.heap = a.clone(); this.c = c; buildHeap(); } /** * 返回值為i/2 * * @param i * @return */ private int parent(int i) { return (i - 1) >> 1; } /** * * 返回指定節點的left子節點數組索引。相當于2*(i+1)-1 * * * @param i * @return */ private int left(int i) { return ((i + 1) << 1) - 1; } /** * 返回指定節點的right子節點數組索引。相當于2*(i+1) * * @param i * @return */ private int right(int i) { return (i + 1) << 1; } /** * 堆化 * * @param i * 堆化的起始節點 */ private void heapify(int i) { heapify(i, heap.length); } /** * 堆化, * * @param i * @param size 堆化的范圍 */ private void heapify(int i, int size) { int l = left(i); int r = right(i); int next = i; if (l < size && c.compare(heap[l], heap[i]) > 0) next = l; if (r < size && c.compare(heap[r], heap[next]) > 0) next = r; if (i == next) return; swap(i, next); heapify(next, size); } /** * 對堆進行排序 */ public void sort() { // buildHeap(); for (int i = heap.length - 1; i > 0; i--) { swap(0, i); heapify(0, i); } } /** * 交換數組值 * * @param arr * @param i * @param j */ private void swap(int i, int j) { T tmp = heap[i]; heap[i] = heap[j]; heap[j] = tmp; } /** * 創建堆 */ private void buildHeap() { for (int i = (heap.length) / 2 - 1; i >= 0; i--) { heapify(i); } } public void setRoot(T root) { heap[0] = root; heapify(0); } public T root() { return heap[0]; } public T getByIndex(int i) {if(i<heap.length) {return heap[i];}return null;} }

總結

上面貼出了測試數據和最終結果,以上代碼估計跑不通,貼出來是為了突出重點,如果想看跑,可以follow我的github,上面有完整實例,另外還有一些問題沒有解決完全,一個是大數據下的測試,另外有一個就是交互問題,因為考慮到后面還會寫相關搜索引擎的板塊,所以這里先不急著完善,以后有機會再做交互和完整測試。

哈,寫了3個多小時,終于總結完了~,看完有收貨的小伙伴,記得贊一個噢~。我們一起天天學算法~

github:https://github.com/Continue7777/algorithms

總結

以上是生活随笔為你收集整理的天天学算法——搜索热词关联(TopK)的全部內容,希望文章能夠幫你解決所遇到的問題。

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

五月av在线| 狠狠综合久久av | 日韩av高清| 免费观看一级成人毛片 | 久久综合五月天 | 探花视频在线版播放免费观看 | 精品国产伦一区二区三区观看体验 | 国产精品久久久久久久久久久久久久 | 成年人免费观看国产 | 999久久久久久久久久久 | av黄色免费看 | 成人app在线免费观看 | 黄色大全免费网站 | 97视频免费观看 | 国产中文字幕国产 | 9797在线看片亚洲精品 | 久久成人国产精品一区二区 | 日日夜夜狠狠操 | 国产精品久久久久久久av大片 | 中文字幕在线观看你懂的 | 午夜av剧场 | 人人爽人人片 | 日韩av在线不卡 | 最新中文字幕在线播放 | 国产在线一区观看 | 91最新在线 | 国产精品中文字幕av | 国产在线精品观看 | 亚洲国产精品视频 | 午夜美女视频 | 国产日韩精品在线观看 | 免费日韩av电影 | av播放在线 | 国产视频一区在线 | 免费99精品国产自在在线 | 中文字幕 国产视频 | 日本三级久久 | 午夜精品电影 | 欧美一级片免费在线观看 | 成 人 黄 色 视频 免费观看 | 麻花豆传媒mv在线观看 | 国产高清小视频 | 色综合天 | 天天干,天天草 | 中文字幕精品一区二区三区电影 | 久久免费视频播放 | 成人97人人超碰人人99 | 日韩在线看片 | 久久最新网址 | 黄网站色视频免费观看 | 全久久久久久久久久久电影 | 久久久www成人免费精品张筱雨 | 99理论片 | 韩国视频一区二区三区 | 91av中文字幕 | 亚洲jizzjizz日本少妇 | 国产一区二区三区在线免费观看 | 国产精品久久艹 | 国际精品久久久 | 在线免费观看黄色小说 | 亚洲一区二区视频 | 精品久久久久久久 | 蜜臀av性久久久久蜜臀av | 奇米四色影狠狠爱7777 | 黄色亚洲片 | 丝袜制服综合网 | 午夜精品一区二区国产 | 日韩网站免费观看 | 中文字幕一区二 | 蜜桃视频精品 | 天天操天天操天天操天天 | 在线性视频日韩欧美 | 91av亚洲| av品善网 | 日韩免费一级电影 | 一区久久久 | 在线日韩视频 | 亚洲精品免费观看视频 | 色搞搞| 91传媒在线看 | 亚州精品天堂中文字幕 | 三级免费黄色 | av免费在线观看网站 | 亚洲免费一级电影 | 亚洲精品影视在线观看 | 欧美日韩69| 亚洲最新毛片 | 亚洲午夜精品一区 | 男女啪啪网站 | 92中文资源在线 | 操操操操网 | 国产涩涩网站 | 18国产精品福利片久久婷 | 久草a在线| 久久情网 | 手机看片福利 | 欧美日韩一区二区三区免费视频 | 国产精品久久久久999 | 黄色av三级在线 | www.五月天 | 在线超碰av | 亚洲人久久 | 四虎www com| av在线播放快速免费阴 | 亚洲综合色激情五月 | 911亚洲精品第一 | 69精品人人人人 | 日韩在线中文字幕视频 | 日本黄色黄网站 | 国产区精品视频 | 99久久精品国产毛片 | 国产乱码精品一区二区三区介绍 | 九九在线视频 | 日韩免费在线一区 | 国产在线一卡 | 国产玖玖精品视频 | 久久99欧美| av色影院 | 日本精品视频一区二区 | 午夜美女wwww | 日韩免费一区二区 | 久草在线免费新视频 | 国产日本在线播放 | 成全在线视频免费观看 | 五月天婷婷免费视频 | 992tv成人免费看片 | 天天干中文字幕 | 亚洲国产精品成人女人久久 | 亚洲爱爱视频 | 91女神的呻吟细腰翘臀美女 | 色鬼综合网 | 亚洲精品乱码久久久久久写真 | 日韩av中文字幕在线 | 中文字幕免费 | 欧美激情精品久久久久久变态 | 欧美精品在线一区 | 婷婷新五月 | 久久网站免费 | www.av免费观看 | 超碰在线97免费 | 天天弄天天干 | 精精国产xxxx视频在线播放 | 亚洲欧美婷婷六月色综合 | 久久综合五月婷婷 | 午夜精品久久久久久久久久久久久久 | 最近中文字幕高清字幕免费mv | 91成人精品国产刺激国语对白 | 玖草在线观看 | 国产精品久久久久久久久久不蜜月 | 日韩网站在线播放 | 免费成人av网站 | 日韩中文字幕免费视频 | 香蕉久草| 久久久国产精品人人片99精片欧美一 | 免费日韩精品 | 国产一区二区在线免费播放 | 天天操 夜夜操 | 亚洲视频h| 天天射天天搞 | 日韩精品短视频 | 久久国产亚洲视频 | 色网av| 亚洲精品色婷婷 | 丁香五月网久久综合 | 国产成人一区二区三区免费看 | 久久久久久久久影视 | 久草在线官网 | 久久久久观看 | 蜜桃视频在线视频 | 不卡的av在线播放 | 亚洲全部视频 | 日韩精选在线观看 | 91成人在线观看喷潮 | 狠狠狠色丁香婷婷综合久久88 | 精品久久网 | 国产粉嫩在线 | 91精品国产乱码 | adc在线观看 | 天天超碰| 黄色成人av网址 | 国产手机av在线 | 精品亚洲国产视频 | 在线网址你懂得 | 一级片免费观看视频 | 操操操人人 | 国内精品久久久久影院一蜜桃 | 91免费高清视频 | 色婷婷五 | 成人黄色在线观看视频 | 天天摸日日摸人人看 | 五月婷婷视频在线 | 精品91视频 | 国产在线观看你懂得 | 99热亚洲精品 | 欧美日韩一区二区视频在线观看 | 夜夜操天天干, | 日韩精品久久一区二区三区 | 99在线视频播放 | 久久涩涩网站 | 六月激情久久 | 亚洲精品国产自产拍在线观看 | 99精品视频精品精品视频 | 国产在线精品二区 | 国产一区二区久久 | 久久女同性恋中文字幕 | 日韩欧美有码在线 | 久久97超碰 | 九九热re| 91人人澡人人爽 | www.天天成人国产电影 | 在线免费观看国产黄色 | 亚洲欧美成人 | 99riav1国产精品视频 | av在线一二三区 | 日韩欧美视频在线播放 | 久久一区二区三区国产精品 | 久久久精品视频网站 | 丝袜av网站| 日韩激情av在线 | 久久久国产精品电影 | 日韩剧情 | 久久视频在线视频 | 日韩一区二区三区视频在线 | 在线播放 日韩专区 | 日日操日日插 | 欧洲亚洲精品 | 91av小视频 | 天天色天天 | 欧美国产精品久久久久久免费 | 亚洲精品久久视频 | 久久久www成人免费精品 | 夜夜骑日日 | 亚洲九九 | 亚洲精品三级 | 久久99九九99精品 | 日韩精品一区二区三区丰满 | 欧美日韩精品区 | 在线三级中文 | 中文视频在线看 | 天天曰夜夜爽 | 国产视频精品久久 | 国产黄色免费在线观看 | 亚洲成人第一区 | 狠狠操狠狠干天天操 | 激情五月激情综合网 | 毛片一区二区 | 综合国产在线 | 国产精品亚州 | 国产精品免费不卡 | 97超视频在线观看 | 99视频在线播放 | 日韩欧美在线第一页 | 久久热首页 | 日韩av午夜在线观看 | 久久久av电影 | 久久精品视频在线观看 | 国产在线精品播放 | 香蕉视频在线免费看 | 亚洲精品小区久久久久久 | 午夜少妇一区二区三区 | 婷婷综合五月 | 视频在线观看日韩 | 97在线观看视频免费 | 国产精品一区二区av麻豆 | 欧美一区二区三区不卡 | 亚洲精品久久久久久中文传媒 | 91污污| 在线免费观看视频 | 又黄又爽免费视频 | 91久久黄色 | 在线视频日韩一区 | 91久久国产自产拍夜夜嗨 | 91爱爱视频 | 欧美精品久 | 亚洲成人在线免费 | 国产成人精品在线播放 | 久久久久久久久久久黄色 | 日韩一级精品 | 国产精品久久久久久久久久ktv | 久久精品99国产精品日本 | 日韩网站在线 | 欧美极品少妇xbxb性爽爽视频 | 日韩在线国产精品 | 久久资源在线 | 日韩免费一区二区三区 | 亚洲一区二区视频在线 | 韩国在线视频一区 | 草久久久久久 | 亚洲精品国产精品国 | 91麻豆精品国产自产在线 | 99人成在线观看视频 | 中文字幕亚洲综合久久五月天色无吗'' | 国产免费又粗又猛又爽 | 开心综合网 | 亚洲欧美在线观看视频 | 亚洲精品在线一区二区三区 | www.日本色| 五月激情综合婷婷 | 精品国产_亚洲人成在线 | 亚洲国产精彩中文乱码av | 91精品网站在线观看 | 日本丰满少妇免费一区 | 久久国产精品偷 | 久久观看 | 99久久这里有精品 | 久久人视频| 黄p在线播放 | 中文字幕乱在线伦视频中文字幕乱码在线 | 欧美日韩久久一区 | 激情一区二区三区欧美 | 九九99视频| 国产精品久久久久久久久搜平片 | 国产高清在线永久 | 一区二区三区精品久久久 | 成人欧美一区二区三区黑人麻豆 | 一级黄色视屏 | 亚洲精品视频观看 | 国产成人精品久久久久 | 午夜性色 | 在线视频一二三 | 4438全国亚洲精品观看视频 | 视频国产精品 | 婷婷电影在线观看 | 久久精品视频在线看 | 日韩专区在线播放 | 超薄丝袜一二三区 | 久久综合九色综合久久久精品综合 | 日本女人逼 | 美女免费视频黄 | 国产主播大尺度精品福利免费 | 蜜桃视频在线观看一区 | 久香蕉 | 美女网站色在线观看 | 中文字幕日本电影 | 亚洲精品国产片 | 免费黄色特级片 | 97影视| 国产亚洲精品无 | 国产精品一区二区免费 | 日日操日日插 | 国产情侣一区 | 精品国产综合区久久久久久 | 久久精品中文字幕免费mv | 少妇视频在线播放 | 91成人天堂久久成人 | 国产视频在线观看一区 | 久久黄色片| 免费看一及片 | 91av在| 久免费| 精品国产123| 久久极品 | 亚洲精品国 | 国产黑丝袜在线 | 免费观看久久久 | 日日夜夜人人天天 | 精品国产乱码久久久久久1区2匹 | 久热av在线| 中文字幕乱在线伦视频中文字幕乱码在线 | 在线观看91精品国产网站 | 国产永久网站 | 日韩一级电影网站 | 国产成人精品免高潮在线观看 | 骄小bbw搡bbbb揉bbbb | 波多野结衣一区二区三区中文字幕 | 久久久久久久久久网站 | 国产视频91在线 | 久久久久久美女 | 国产亚洲精品久久久久久移动网络 | 人人干在线 | 91大神精品视频 | 日韩国产在线观看 | 国产一区二区播放 | 成人黄色小说网 | 高清不卡毛片 | 激情久久久 | 成人在线播放免费观看 | 久久久久久久久福利 | 丁香综合网 | 狠狠干夜夜爽 | 亚洲在线视频免费观看 | 国产精品岛国久久久久久久久红粉 | 亚洲精品在线观看免费 | 日韩欧美亚洲 | 天天碰天天操视频 | 色网站在线免费 | 99r在线播放 | 久久国产精品区 | 国产美女免费视频 | 久久精品精品电影网 | 亚洲精品看片 | 国产精品久久久久久久久久免费 | 久久久久免费精品国产小说色大师 | 国产午夜不卡 | 久久久久亚洲精品 | 久热av在线 | 成人国产精品久久久春色 | 九九爱免费视频在线观看 | 国产在线a不卡 | 国产精品久久久久久69 | 亚洲国产一区二区精品专区 | 国产成人三级在线 | 狠狠的操狠狠的干 | 欧美日韩大片在线观看 | 91人人网| 天堂麻豆| 日韩精品中文字幕在线不卡尤物 | 欧洲视频一区 | 99久久久国产精品免费99 | 91高清视频免费 | 99热九九这里只有精品10 | 五月婷婷综合久久 | 国产精品亚洲综合久久 | 色94色欧美| 国产精品美女视频 | 精品久久久久久久久久久久久久久久 | 久草在线免费资源站 | 狠狠干激情 | 国产1区在线观看 | 999久久久| 欧美精品久久久久久久久久久 | 视频在线99re | 亚洲乱码在线观看 | 亚洲精品18p| 久久成人免费电影 | 日本中文一区二区 | 国产精品久久99综合免费观看尤物 | 深爱五月激情网 | 国产日产精品一区二区三区四区 | 在线视频 一区二区 | 亚洲国产高清在线观看视频 | 国产精品一区二区久久精品爱微奶 | 天天摸天天操天天舔 | 狠狠狠色丁香婷婷综合久久88 | 久久中文字幕在线视频 | 99久免费精品视频在线观看 | 在线国产一区二区 | 98超碰在线观看 | 久久久综合电影 | 在线观看成人毛片 | 国产91aaa| 亚洲黄色av一区 | 国产精品久久久久久久久久不蜜月 | 日日夜夜天天 | 日韩av一区在线观看 | 久久国产精品久久精品国产演员表 | 中文字幕视频三区 | 国产91影院| 成人国产一区 | 亚洲精品在线一区二区 | 99久久99久久精品免费 | 9色在线视频 | 久久综合五月婷婷 | 911亚洲精品第一 | 国产精品欧美久久久久天天影视 | 尤物97国产精品久久精品国产 | 狠狠的操| 成人永久在线 | 欧美巨大 | 天天射夜夜爽 | 天堂av高清 | 久碰视频在线观看 | 婷婷久操 | 91亚洲精品久久久久图片蜜桃 | 国产在线2020 | 婷婷开心久久网 | av天天干 | 97手机电影网| 亚洲精品乱码久久久久久高潮 | 国产精品99久久免费黑人 | 99久久国产免费,99久久国产免费大片 | 久久综合综合久久综合 | 在线黄色免费 | 日韩欧美精品在线视频 | 黄色日本片 | 97超碰站 | 色多多视频在线 | 免费看黄色小说的网站 | 中文字幕在线观看91 | 国产黄色免费看 | 激情久久一区二区三区 | 日韩欧美国产精品 | 91在线免费视频 | 欧美视频二区 | 久久久久国产一区二区三区四区 | 久久久综合色 | 丁香六月天婷婷 | 亚洲欧洲精品一区二区 | 天天激情在线 | 2019天天干夜夜操 | 久久狠狠亚洲综合 | 中文字幕精品一区二区精品 | 天天操偷偷干 | 国产精品欧美久久久久天天影视 | 91成人午夜 | 国产综合在线视频 | 国产成a人亚洲精v品在线观看 | 免费精品国产va自在自线 | 在线成人国产 | 亚洲精品乱码久久久久久 | 99热这里精品 | 黄色高清视频在线观看 | 日韩剧| 成人a免费看 | 91视频免费播放 | 亚洲五月婷 | 国产免费观看久久黄 | 国产五码一区 | 日韩中午字幕 | 欧美大片mv免费 | 在线观看成人小视频 | 久久一区二区三区日韩 | 人人插人人搞 | 日韩三级在线观看 | 日韩在线观看不卡 | 国产亚洲精品久久久久久 | 国产亚洲在线观看 | 欧美性黑人| 91麻豆免费版 | 国产视频亚洲 | av在线电影网站 | 97在线观看免费高清完整版在线观看 | 色偷偷中文字幕 | 最近中文字幕在线 | 色综合久久久久综合99 | 91看片淫黄大片一级在线观看 | 久久一区二区免费视频 | 98涩涩国产露脸精品国产网 | 在线观看免费 | 五月天激情综合网 | 91九色porny蝌蚪视频 | 免费看一级黄色大全 | 亚洲精品小视频在线观看 | 国产成人一区二区三区在线观看 | 国产精品永久久久久久久www | 超碰com| 久久久国产精品亚洲一区 | 中文字幕传媒 | 五月婷婷综合久久 | 西西4444www大胆无视频 | 日韩视频一区二区三区在线播放免费观看 | 日韩欧美有码在线 | 日韩一区精品 | 人人干天天射 | 久久精品视频在线观看 | 久热精品国产 | 久久综合久久综合久久 | 又爽又黄又无遮挡网站动态图 | 亚洲精品资源在线观看 | 日韩av在线资源 | 亚洲欧美视频网站 | 天堂久久电影网 | 亚洲激情视频在线观看 | 国产一级片观看 | 中文字幕在线观看视频免费 | 超碰在线免费97 | 久久久久免费精品国产小说色大师 | aa一级片| 九九免费视频 | 日本三级久久 | 操操操干干干 | 开心激情久久 | 久久精品视频网 | 在线亚洲午夜片av大片 | 久久久久久免费网 | 日日干干 | 久久免费精品视频 | 国产精品久久久久久高潮 | 日韩电影在线视频 | 亚洲国产成人久久综合 | www.玖玖玖| 婷婷久操 | 日韩精品电影在线播放 | 99产精品成人啪免费网站 | 99re久久精品国产 | 狠狠色丁香婷婷综合橹88 | 一级做a视频 | 国产日韩精品久久 | 久久国产精品一区二区三区四区 | 久久久久女人精品毛片 | 五月天激情在线 | 国产第一页精品 | 亚洲人在线视频 | 国产日韩视频在线播放 | 操操操av| 综合在线观看 | 久久综合久久综合久久 | 在线观看免费av网 | 精品久久久久久久久久岛国gif | 日日爽天天 | 国产亚洲精品久久久网站好莱 | 日韩精品亚洲专区在线观看 | 国产高清不卡在线 | 手机av在线网站 | 久久的色| av免费在线看网站 | 国产精品久久久久一区 | 成年人免费看的视频 | 国产 日韩 欧美 中文 在线播放 | 亚洲精品1区2区3区 超碰成人网 | 久久a久久| 精品一区 在线 | 丁香久久综合 | 97看片 | 片网址 | 99精彩视频| 亚洲国产欧美在线人成大黄瓜 | 免费涩涩网站 | 91av综合| av电影免费 | 国产精品久久久久久久7电影 | 在线影视 一区 二区 三区 | 欧美日韩另类在线观看 | 国产精品你懂的在线观看 | av.com在线| 亚洲春色奇米影视 | 色噜噜日韩精品欧美一区二区 | 免费精品视频在线 | 久久精品久久精品久久39 | 丁香六月色 | 久久成人麻豆午夜电影 | 国产精品久久久久久一二三四五 | 国产一区二区高清 | 久久精品美女视频 | 一区二区三区 亚洲 | 又黄又爽又色无遮挡免费 | 在线 国产 日韩 | av大全在线看| 国产 中文 日韩 欧美 | 午夜视频欧美 | 黄色av一级| 国产精品久久毛片 | 91亚洲狠狠婷婷综合久久久 | 91成人免费在线 | 干狠狠 | 天天干天天干天天干 | 中文字幕精品一区 | 91麻豆精品国产91久久久使用方法 | 久久精品综合网 | 久久精品久久99精品久久 | 亚洲成aⅴ人片久久青草影院 | av在线网站免费观看 | 国产精品免费视频观看 | 久久久久蜜桃 | 又黄又爽又无遮挡的视频 | 免费性网站 | 丁香五月亚洲综合在线 | 一区二区三区日韩精品 | 特级西西444www大胆高清无视频 | .精品久久久麻豆国产精品 亚洲va欧美 | 香蕉视频在线播放 | 婷婷视频在线播放 | 黄色av高清| 欧美日本中文字幕 | 日韩sese | 日韩综合第一页 | 成人一级在线观看 | 在线不卡视频 | 亚洲 av网站| 亚洲第一成网站 | 激情综合网色播五月 | 亚洲视频在线视频 | 天天摸夜夜操 | 亚洲第一区在线观看 | 成人在线超碰 | 国产日韩欧美自拍 | 视频精品一区二区三区 | 高清久久久久久 | av免费观看网站 | 久久免费视频6 | 综合网五月天 | 久久色网站 | 国产精品s色 | 99c视频在线 | 久久亚洲日本 | 免费成人在线电影 | 日日爽 | 久久久久久久久久久久久久免费看 | 色狠狠综合 | 五月天中文字幕mv在线 | 久久国产三级 | av资源在线看 | 久久久综合九色合综国产精品 | 国产精品久久久久久久久久新婚 | www,黄视频 | 麻豆国产视频 | 一区中文字幕 | 91午夜精品 | 人人爱夜夜操 | 一级黄色av| 日韩在线免费高清视频 | 成人教育av | 国际精品久久 | 中文国产在线观看 | 国产a国产a国产a | 日韩毛片在线一区二区毛片 | 又紧又大又爽精品一区二区 | 在线看av的网址 | 色综合久久久久久久 | 中文字幕一区二区三区四区在线视频 | 日韩av电影国产 | 国产精品久久久久久久久久妇女 | 亚洲欧洲精品视频 | 亚洲精品理论片 | 亚洲一区二区精品在线 | 99久久久国产精品美女 | 日韩精品欧美专区 | 日韩欧美久久 | 久久精久久精 | 成人av高清在线 | 五月天色站 | 91在线区 | 国产美女精品久久久 | 在线观看黄色国产 | 亚洲欧美日韩一二三区 | 97电影在线看视频 | 色五月色开心色婷婷色丁香 | 成年人免费观看国产 | 少妇性xxx| 亚洲女同ⅹxx女同tv | 深爱激情综合 | 久久a热6| 天天爽夜夜操 | 婷婷色综 | 一区二区影院 | 成人在线黄色 | 国产视频在线观看免费 | 国产精品久久久久久久久岛 | 在线观看av国产 | 国产午夜激情视频 | 97超碰人人模人人人爽人人爱 | 网站在线观看你们懂的 | 婷婷干五月| 精品一区二区电影 | 狠狠黄 | 丁香婷婷色综合亚洲电影 | 中文字幕亚洲欧美日韩2019 | 免费精品在线 | 色婷婷视频在线 | 欧美a级成人淫片免费看 | 日本精品久久久一区二区三区 | 国产一级h| 久久夜色精品国产欧美乱极品 | 主播av在线| 国产精品久久久久aaaa | 亚洲精品乱码久久久久久写真 | 丝袜美腿一区 | 高清av在线| 国产一区在线视频观看 | 视频在线在亚洲 | 午夜国产一区二区三区四区 | 一区二区三区电影在线播 | av成人免费| 国产只有精品 | 一区二区三区四区精品视频 | 黄色一级大片在线观看 | 最近最新mv字幕免费观看 | 国产精品一区二区久久精品爱涩 | 五月天精品视频 | av成人在线电影 | 国产精品女同一区二区三区久久夜 | 国产网红在线 | 日日夜夜噜 | 日韩天天操 | 97涩涩视频 | 综合色中文 | 在线观看久久久久久 | 9幺看片| 精品91视频 | 日韩免费视频观看 | 亚洲免费在线播放视频 | 国产黄在线 | 国产二区av| 高清不卡免费视频 | 亚洲成色777777在线观看影院 | 日本久久久精品视频 | 日韩在线免费不卡 | 久久试看| 国产精品人成电影在线观看 | 国产精品亚 | 日日碰狠狠躁久久躁综合网 | 美国三级黄色大片 | 欧美另类激情 | 国产综合91 | 最近中文字幕完整高清 | 成人h动漫精品一区二 | 亚洲国产精彩中文乱码av | 国产我不卡 | 色在线亚洲| 国产精品久久久久aaaa | 免费不卡中文字幕视频 | 久久国产精品视频免费看 | 国产特级毛片 | 日韩av一卡二卡三卡 | 亚洲精选在线观看 | 超碰电影在线观看 | 天天撸夜夜操 | 国产中文字幕第一页 | 在线亚洲精品 | 韩国av免费在线 | 久久婷婷一区 | 在线小视频国产 | 成年人黄色免费视频 | 国产男女无遮挡猛进猛出在线观看 | 98涩涩国产露脸精品国产网 | 五月精品 | 黄色一集片 | av资源在线观看 | 国产视频一区二区在线 | 日韩午夜剧场 | 热久在线 | 激情五月伊人 | 在线看av网址 | 亚洲丝袜中文 | 久久久久久高潮国产精品视 | 狠狠色2019综合网 | 涩av在线| 六月激情丁香 | 全久久久久久久久久久电影 | 国产九九九精品视频 | 国产精品九九九 | 黄色免费视频在线观看 | 久久久人人爽 | 久青草视频| 国产精品毛片一区二区三区 | 91精品国产成人观看 | 日韩网页| 久久免费视频在线观看6 | 欧美日韩中文国产一区发布 | 国产精品国产三级国产不产一地 | 五月婷婷综合在线视频 | 国产精品成人免费一区久久羞羞 | 久久久久久久久网站 | 91av观看| 久久久国产日韩 | 亚洲国产免费网站 | 国内精品久久久久影院一蜜桃 | 久久五月天综合 | 午夜国产在线观看 | 少妇搡bbbb搡bbb搡忠贞 | 久久艹国产视频 | 亚洲电影影音先锋 | 亚洲欧洲久久久 | 99精品国产高清在线观看 | 99在线看 | 成人在线网站观看 | 亚洲国产一区在线观看 | 色综合天天综合网国产成人网 | 久久久久久久国产精品 | 国产精品一区二区麻豆 | 96视频在线| 91精品视频在线观看免费 | 亚洲精品国偷自产在线99热 | 久久精品直播 | 日韩二三区 | 黄色app网站在线观看 | 射射色| 久久免费视频6 | 激情久久久久久久久久久久久久久久 | 99久久久国产精品免费99 | 三级性生活视频 | 久久人人97超碰精品888 | 亚洲国产无 | 蜜臀av性久久久久av蜜臀三区 | 91九色视频在线 | 久久99视频免费观看 | 99视频网址 | 国产精品欧美久久久久无广告 | 中文字幕在线色 | 成片人卡1卡2卡3手机免费看 | 欧美精品一区二区在线播放 | 在线视频欧美精品 | 在线观看亚洲精品视频 | 国产精品综合av一区二区国产馆 | 色偷偷网站视频 | 特级a老妇做爰全过程 | 国产精品久久久久久999 | 超碰在线免费福利 | 日韩欧美高清一区二区三区 | 国产高清区 | 成人一区不卡 | 日韩黄色中文字幕 | 久久久久国产免费免费 | 毛片99| 伊人五月天 | 久久精品视频在线 | 国内精品视频免费 | 亚洲天堂精品视频 | 久久久国产网站 | 中文字幕影片免费在线观看 | 久久久久激情电影 | 国产精品一区免费观看 | 天堂av网在线 | 一区二区三区 中文字幕 | av免费在线看网站 | 日韩精品视频免费专区在线播放 | 四虎在线观看 | 精品一区二区三区香蕉蜜桃 | 激情影院在线观看 | 天天做日日爱夜夜爽 | www.888.av| 超碰大片 | 久久久久9999亚洲精品 | 激情开心 | 婷婷激情综合 | 久久观看免费视频 | 青青草国产精品视频 | 国产96在线观看 | 成人在线播放免费观看 | 日韩欧美在线免费 | 日韩中文字幕在线看 | 久草视频在线免费看 | 丁香婷婷激情网 | 99久热在线精品视频成人一区 | 久久黄色小说 | 国产精品久久久久久久久久久久午 | 在线观看国产区 | 久草视频首页 | 18久久久 | 麻豆视频在线播放 | 国产精品久久精品国产 | 91禁在线观看 | 91禁在线看 | 一级淫片在线观看 | 久久99久久99精品免观看粉嫩 | 国产精品 久久 | 日韩电影中文字幕 | 草莓视频在线观看免费观看 | 午夜国产在线观看 | 亚洲撸撸| 中文字幕免费高清在线 | 丁香婷婷电影 | 欧美视频在线观看免费网址 | 激情久久一区二区三区 | 免费看十八岁美女 | 99精品色 | 色视频网页 | 日韩精品久久一区二区 | 亚洲爱av| 成人av电影在线 | 色偷偷中文字幕 | 久久狠狠干 | 97超碰超碰| 国产亚洲在线视频 | 婷婷电影在线观看 | 在线观看av中文字幕 | 丁香 久久 综合 | av中文天堂 | 国产一级片一区二区三区 | 久久成人一区二区 | 91视频免费网址 | 97超碰人人澡 | 久久综合色播五月 | 激情婷婷综合 | 在线视频久久 | 国产69久久久 | 婷婷深爱五月 | 天天干天天操av | 97在线观看免费视频 | 一级黄色电影网站 | 国产精品v a免费视频 | 在线观看午夜av | 黄色av三级在线 | 2019av在线视频 | 又黄又刺激又爽的视频 | 91精品国产99久久久久 | 手机在线永久免费观看av片 | 青青河边草免费观看完整版高清 | 91精品在线免费观看 | 国产字幕在线观看 | 欧美日韩高清免费 | 日日干,天天干 | 一区二区三区四区在线 | 亚洲精品女人久久久 | 成人久久免费 | 日韩免费观看一区二区 | 亚洲精品中文字幕视频 | 在线观看免费av网站 | 日本99热 | 麻豆高清免费国产一区 | 日韩欧美国产激情在线播放 | 日日干视频 | 99久高清在线观看视频99精品热在线观看视频 | 99久久精| 在线观看色网 | 娇妻呻吟一区二区三区 | 天天玩天天干天天操 | 国产 亚洲 欧美 在线 | 国产精品久久久久久久久久99 | 色午夜影院| 日韩高清免费在线 | 亚洲欧美日本A∨在线观看 青青河边草观看完整版高清 | 欧美成年网站 | 久久精品3 | 在线观看日本高清mv视频 | 亚洲成av人片在线观看无 | 黄色三级网站在线观看 | 国产专区日韩专区 |