亚洲有码Av一区二区三区_国产高清啪啪免费视频_69色视频国产_国产成人人人爆出白浆_国产精品自在线拍国_一本久久伊人热热精品无码_午夜性刺激在线看免费带字幕_助力高品质欧美狂喷水_亚洲精品日韩无码_精品无码一区二区三区蜜臀_麻豆高清国产AV_熟妇人素无码中文字幕_亚洲a级片在线观看_国产欧美日韩三区_99国产成人高清在线观看

ARTICLE DETAIL

資訊詳情

深耕商務(wù)建站與企業(yè)官網(wǎng)運(yùn)營的一線實戰(zhàn)洞察。

數(shù)據(jù)結(jié)構(gòu)課設(shè)實戰(zhàn):哈夫曼編碼、遞歸替換、跳馬與長整數(shù)運(yùn)算全解析

數(shù)據(jù)結(jié)構(gòu)課設(shè)實戰(zhàn):哈夫曼編碼、遞歸替換、跳馬與長整數(shù)運(yùn)算全解析 簡介這是一份數(shù)據(jù)結(jié)構(gòu)課程設(shè)計完整報告圍繞哈夫曼碼編/譯碼系統(tǒng)、遞歸替換問題、跳馬問題與長整數(shù)運(yùn)算四個經(jīng)典專題適合計算機(jī)專業(yè)學(xué)生在備考、期末復(fù)習(xí)或完成類似課程設(shè)計時作為參考。哈夫曼編碼部分詳細(xì)說明構(gòu)建哈夫曼樹、生成前綴編碼及編解碼過程遞歸替換問題分析模式查找與替換的遞歸策略及邊界條件跳馬問題采用深度優(yōu)先或廣度優(yōu)先搜索遍歷棋盤路徑長整數(shù)運(yùn)算則闡述用數(shù)組或鏈表存儲大數(shù)并實現(xiàn)加減乘除的方法。每個專題均按標(biāo)準(zhǔn)課程設(shè)計體例展開包含數(shù)據(jù)類型定義、算法設(shè)計、函數(shù)調(diào)用關(guān)系圖、調(diào)試分析、測試結(jié)果和帶注釋的源程序目錄結(jié)構(gòu)清晰便于按步驟對照實現(xiàn)和驗證。整包為單個PDF文檔大小268KB內(nèi)容集中目前已吸引171人學(xué)習(xí)適合作為數(shù)據(jù)結(jié)構(gòu)與算法實踐環(huán)節(jié)的輔助參考資料。1. 數(shù)據(jù)結(jié)構(gòu)課設(shè)四題合訂到底在考什么拿到《哈夫曼碼的編譯碼系統(tǒng)遞歸替換問題跳馬問題長整數(shù)運(yùn)算問題》這套課設(shè)題組第一反應(yīng)通常是四個題四個方向哪個都不好糊弄。它把數(shù)據(jù)結(jié)構(gòu)的主場全占了——樹與編碼考哈夫曼樹遞歸與棧考遞歸替換圖搜索考跳馬問題的 BFS 和回溯線性表與高精度考長整數(shù)運(yùn)算。對正在做課設(shè)的本科生這是把數(shù)據(jù)結(jié)構(gòu)教材 C 語言版里的章節(jié)串成工程題對準(zhǔn)備數(shù)據(jù)結(jié)構(gòu) 408 和考研數(shù)據(jù)結(jié)構(gòu)的同學(xué)它幾乎就是樹、棧、圖、鏈表四塊的綜合練習(xí)。文章按這四個題逐個給出可復(fù)制的實現(xiàn)方案、關(guān)鍵參數(shù)和邊界處理末尾附上驗收前的測試清單照著做就能把課設(shè)從「能跑」推進(jìn)到「敢演示」。2. 哈夫曼碼編譯碼系統(tǒng)從最小堆建樹到逐位譯碼2.1 先弄清編碼模型頻率表與前綴碼的關(guān)系哈夫曼碼的本質(zhì)是前綴碼任何一個字符的編碼都不是另一個字符編碼的前綴所以譯碼時不需要分隔符從根節(jié)點(diǎn)沿著 0/1 往下走走到葉子就是一個字符。整套系統(tǒng)分三段統(tǒng)計字符頻率、建樹生成編碼表、用編碼表壓縮電文并譯碼。課設(shè)最常見的翻車點(diǎn)不在建樹而在「只有一個字符」和「編碼生成方向反了」這兩個邊角料上。建樹的輸入是頻率表。常見做法是掃描輸入文本用數(shù)組統(tǒng)計每個 ASCII 字符出現(xiàn)次數(shù)把出現(xiàn)次數(shù)大于 0 的字符作為葉子節(jié)點(diǎn)。這里不需要先把字符排序——排序算法在這里派不上用場直接用數(shù)組下標(biāo)映射字符掃一遍文本就能得到頻率復(fù)雜度 O(n)比先排序再統(tǒng)計更省事。葉子數(shù)量 n 確定后整棵哈夫曼樹的節(jié)點(diǎn)總數(shù)是 2n-1這個數(shù)字在建樹時要提前算清楚否則數(shù)組開小了會越界。2.2 哈夫曼樹的建樹代碼數(shù)組靜態(tài)鏈表與雙親指針課設(shè)里我一般不用動態(tài)二叉樹而是用三個數(shù)組模擬靜態(tài)鏈表lchild、rchild、parent 各開 2n 大小。選數(shù)組而不是指針好處是調(diào)試時能直接看下標(biāo)打印整棵樹方便析構(gòu)也不用遞歸釋放。每個節(jié)點(diǎn)記錄權(quán)值、左右孩子和雙親雙親字段同時充當(dāng)「是否已被合并」的標(biāo)記初始為 0被選中合并后改成新節(jié)點(diǎn)下標(biāo)。#include stdio.h #include string.h #define MAX_LEAF 128 // ASCII 可見字符數(shù)量上限 #define MAX_NODE (MAX_LEAF * 2 - 1) typedef struct { int weight; // 權(quán)值葉節(jié)點(diǎn)是字符頻率 int parent, lchild, rchild; // 雙親、左右孩子下標(biāo)0 表示空 } HTNode; HTNode ht[MAX_NODE]; char leafChars[MAX_LEAF]; // 葉節(jié)點(diǎn)對應(yīng)的字符 int leafCnt 0; void buildHuffmanTree() { // 從 leafCnt 開始創(chuàng)建內(nèi)部節(jié)點(diǎn)總共需要 2*leafCnt - 1 個節(jié)點(diǎn) for (int i leafCnt; i 2 * leafCnt - 1; i) { int m1 -1, m2 -1; int w1 0x7fffffff, w2 0x7fffffff; // 線性掃描找兩個最小權(quán)值節(jié)點(diǎn)parent 為 0 表示尚未合并 for (int j 0; j i; j) { if (ht[j].parent ! 0) continue; if (ht[j].weight w1) { w2 w1; m2 m1; w1 ht[j].weight; m1 j; } else if (ht[j].weight w2) { w2 ht[j].weight; m2 j; } } // m1 和 m2 成為新節(jié)點(diǎn) i 的左右孩子 ht[m1].parent i; ht[m2].parent i; ht[i].lchild m1; ht[i].rchild m2; ht[i].weight w1 w2; ht[i].parent 0; } }這段代碼的關(guān)鍵在循環(huán)范圍i 從 leafCnt 走到 2*leafCnt - 2正好創(chuàng)建 n-1 個內(nèi)部節(jié)點(diǎn)。掃描時跳過 parent 非 0 的節(jié)點(diǎn)保證每個葉子只被合并一次。時間復(fù)雜度 O(n2)n 最大 128課設(shè)數(shù)據(jù)量下完全夠用如果追求理論性能可以換最小堆但代碼量上去后調(diào)試成本不劃算。注意 m1 和 m2 的更新順序——先用 m1 存最小值再用 m2 存次小值寫反了建出來的樹權(quán)值順序會亂編碼長度雖然可能不變但樹的形狀不對。2.3 編碼表生成與譯碼的邊界情況生成編碼時從葉子往上走到根每走一步記錄 0 或 1走完得到的串是「從葉子到根」的反向序列必須倒過來才是真正的編碼。這個倒序操作是課設(shè)里最容易忽略的細(xì)節(jié)很多人把 tmp 直接拷進(jìn)編碼表結(jié)果譯碼時對不上。char codeTable[MAX_LEAF][MAX_LEAF 1]; // 每個字符的編碼字符串 void genCodes() { char tmp[MAX_LEAF 1]; for (int i 0; i leafCnt; i) { int cur i, p ht[i].parent; int pos 0; // 從葉子向根走tmp 里存的是逆序編碼 while (p ! 0) { if (ht[p].lchild cur) tmp[pos] 0; else tmp[pos] 1; cur p; p ht[p].parent; } // 倒序后才得到正確編碼 for (int j 0; j pos; j) codeTable[i][j] tmp[pos - 1 - j]; codeTable[i][pos] \0; } }譯碼則反過來從根出發(fā)遇 0 走左孩子、遇 1 走右孩子走到葉子輸出字符并回到根。判斷葉子不能依賴 parent因為根節(jié)點(diǎn)的 parent 也是 0常見做法是檢查 lchild 和 rchild 是否同時為 0。這里有個特例必須單獨(dú)處理當(dāng) leafCnt 1 時整棵樹只有一個葉子節(jié)點(diǎn)編碼是空串譯碼時不管輸入什么直接輸出那個字符。不處理這個分支建樹循環(huán)根本進(jìn)不去后續(xù)代碼會訪問未初始化的節(jié)點(diǎn)表現(xiàn)就是隨機(jī)崩潰。void decode(char *bits, int len) { if (leafCnt 1) { // 單字符特例無編碼直接輸出 for (int i 0; i len; i) putchar(leafChars[0]); return; } int root 2 * leafCnt - 2; // 根節(jié)點(diǎn)下標(biāo) int cur root; for (int i 0; i len; i) { if (bits[i] 0) cur ht[cur].lchild; else cur ht[cur].rchild; if (ht[cur].lchild 0 ht[cur].rchild 0) { putchar(leafChars[cur]); cur root; } } }譯碼的輸入可以是 0/1 字符數(shù)組也可以是二進(jìn)制位。課設(shè)通常要求看得見摸得著用字符 0 和 1 存就行壓縮率難看一點(diǎn)但便于驗證如果要求展示壓縮效果可以把 8 個 0/1 字符并成一個字節(jié)輸出解壓時再按位還原。3. 遞歸替換問題與跳馬問題遞歸和回溯的兩種考試姿勢3.1 遞歸替換問題顯式棧怎么還原函數(shù)調(diào)用遞歸替換問題的核心是「把遞歸算法改寫成非遞歸」考察對棧幀的理解。遞歸函數(shù)在運(yùn)行時每次調(diào)用都會把參數(shù)、局部變量和返回地址壓入系統(tǒng)棧遞歸改非遞歸的通用套路就是自己維護(hù)一個棧把原來隱式的壓棧彈棧變成顯式的 push 和 pop。常見題型包括快速排序非遞歸化、二叉樹遍歷非遞歸化、斐波那契尾遞歸消除課設(shè)里最常抽到的是排序類。以快速排序為例遞歸版本每次處理一個區(qū)間然后遞歸處理左右兩個子區(qū)間。改成非遞歸時棧里存的不是整個數(shù)組而是一個個「待處理區(qū)間」的左右端點(diǎn)。每個棧幀只需要 low 和 high 兩個整數(shù)這就是遞歸函數(shù)的運(yùn)行現(xiàn)場。typedef struct { int low, high; // 待排序區(qū)間 } Range; void quickSortNonRecur(int arr[], int n) { Range stack[100005]; // 顯式棧模擬系統(tǒng)調(diào)用棧 int top 0; stack[top].low 0; stack[top].high n - 1; top; while (top 0) { top--; // 彈出當(dāng)前區(qū)間 int low stack[top].low, high stack[top].high; if (low high) continue; // 一趟劃分教科書版快排 int pivot arr[low]; int l low, r high; while (l r) { while (l r arr[r] pivot) r--; arr[l] arr[r]; while (l r arr[l] pivot) l; arr[r] arr[l]; } arr[l] pivot; // 先壓右區(qū)間再壓左區(qū)間出棧后先處理左側(cè) if (l 1 high) { stack[top].low l 1; stack[top].high high; top; } if (low l - 1) { stack[top].low low; stack[top].high l - 1; top; } } }這段代碼里最重要的參數(shù)是棧頂指針 top。壓棧順序決定處理順序后進(jìn)先出所以先壓右區(qū)間、再壓左區(qū)間出棧時左區(qū)間先被處理和遞歸版本從左到右的順序一致。區(qū)間邊界 low high 時直接跳過這是遞歸出口的等價物。寫這類題容易犯的錯是漏壓某個方向的區(qū)間或者把區(qū)間端點(diǎn)算錯一位導(dǎo)致排序結(jié)果不對。建議對照遞歸版本逐行翻譯遞歸調(diào)用 f(l, mid-1) 對應(yīng)壓入 (l, mid-1)遞歸調(diào)用 f(mid1, r) 對應(yīng)壓入 (mid1, r)一個都不能少。3.2 跳馬問題建模走法數(shù)組與約束條件跳馬問題也叫騎士巡游問題給定 n×m 棋盤和起點(diǎn)終點(diǎn)馬按「日」字走求能否到達(dá)以及最短步數(shù)。這個題表面上和圖論里的最短路是一回事但棋盤是稀疏圖每個節(jié)點(diǎn)最多連 8 條邊所以用 BFS 求最短步數(shù)是標(biāo)準(zhǔn)解法。如果題目只要求「找一條可行路徑」DFS 回溯也能做但棋盤一大就指數(shù)爆炸課設(shè)里優(yōu)先寫 BFS。建模分三步坐標(biāo)系、走法數(shù)組、越界判斷。走法數(shù)組是 8 個偏移量寫錯一個方向整個圖就壞了這是最常見的低級錯誤。我用兩個數(shù)組分別存 x 和 y 的偏移量順序無所謂但要寫全。int dx[8] {1, 1, 2, 2, -1, -1, -2, -2}; int dy[8] {2, -2, 1, -1, 2, -2, 1, -1};坐標(biāo)從 0 開始還是從 1 開始不影響算法但輸入輸出的轉(zhuǎn)換要做干凈。課設(shè)題目如果給的是 1-indexed 坐標(biāo)讀入后立即減 1之后所有邏輯都用 0-indexed避免中間到處做偏移修正。3.3 跳馬最短路徑的 BFS 實現(xiàn)與路徑回溯BFS 的代碼骨架是隊列加距離數(shù)組。距離數(shù)組初始化成 -1同時充當(dāng) visited 的角色一舉兩得。這里有個關(guān)鍵點(diǎn)節(jié)點(diǎn)在入隊時就標(biāo)記為已訪問而不是出隊時才標(biāo)記。入隊標(biāo)記能保證每個節(jié)點(diǎn)最多入隊一次隊列長度可控出隊標(biāo)記會讓同一節(jié)點(diǎn)被多次入隊小棋盤看不出問題棋盤到了幾百階直接內(nèi)存膨脹加超時。#include stdio.h #include string.h #define MAXN 1005 int dist[MAXN][MAXN]; int preX[MAXN][MAXN], preY[MAXN][MAXN]; // 記錄前驅(qū)節(jié)點(diǎn)坐標(biāo) int bfs(int sx, int sy, int tx, int ty, int n, int m) { if (sx tx sy ty) return 0; memset(dist, -1, sizeof(dist)); int queX[MAXN * MAXN], queY[MAXN * MAXN]; int head 0, tail 0; queX[tail] sx; queY[tail] sy; tail; dist[sx][sy] 0; while (head tail) { int x queX[head], y queY[head]; head; for (int k 0; k 8; k) { int nx x dx[k], ny y dy[k]; if (nx 0 || nx n || ny 0 || ny m) continue; if (dist[nx][ny] ! -1) continue; // 已訪問過跳過 dist[nx][ny] dist[x][y] 1; preX[nx][ny] x; preY[nx][ny] y; // 記錄來源 if (nx tx ny ty) return dist[nx][ny]; queX[tail] nx; queY[tail] ny; tail; } } return -1; // 不可達(dá) }dist 數(shù)組的意義是起點(diǎn)到每個格子的最短步數(shù)dist[x][y] dist[px][py] 1 成立的原因是 BFS 按層擴(kuò)展第一次到達(dá)某個格子的路徑一定最短。pre 數(shù)組用于回溯路徑到達(dá)終點(diǎn)后從終點(diǎn)沿著 pre 一路回退到起點(diǎn)再把序列倒過來輸出。如果題目只要求輸出步數(shù)pre 數(shù)組可以去掉省不少內(nèi)存但如果要求輸出完整路徑pre 必須保留。棋盤上限要注意隊列長度n×m 最大一百萬個格子時queX 和 queY 要開到一百萬以上用變長數(shù)組或者 malloc 動態(tài)分配更穩(wěn)妥。4. 長整數(shù)運(yùn)算問題萬進(jìn)制鏈表幾百位加法乘法怎么落地4.1 為什么選萬進(jìn)制鏈表int、數(shù)組與鏈表的選型長整數(shù)運(yùn)算問題的輸入是幾百位甚至上千位的十進(jìn)制數(shù)任何原生整數(shù)類型都存不下。常見方案有兩種用數(shù)組從高位到低位存每一位或者用鏈表按位存。數(shù)組實現(xiàn)簡單但課設(shè)題目明確要求「長整數(shù)」鏈表是標(biāo)準(zhǔn)答案——鏈表的好處是長度動態(tài)增長加法乘法產(chǎn)生進(jìn)位時不會浪費(fèi)空間也便于展示數(shù)據(jù)結(jié)構(gòu)功底。參考王道或大話數(shù)據(jù)結(jié)構(gòu)線性表一章鏈表的插入刪除本身就是考點(diǎn)這個題等于把鏈表操作和進(jìn)制轉(zhuǎn)換揉在一起考。存儲基數(shù)的選擇是關(guān)鍵參數(shù)。用 BASE 10 存每一位空間浪費(fèi)大且乘法效率低我一般用 BASE 10000即每個鏈表節(jié)點(diǎn)存 4 位十進(jìn)制數(shù)稱為「萬進(jìn)制」。萬進(jìn)制的好處有三點(diǎn)同樣長度的數(shù)鏈表節(jié)點(diǎn)數(shù)少 4 倍節(jié)點(diǎn)值范圍 0~9999兩個節(jié)點(diǎn)相乘最大約 1e8int 放得下輸出時每個節(jié)點(diǎn)補(bǔ)零到 4 位即可。鏈表方向約定為「低位在前」即第一個節(jié)點(diǎn)是個位到千位下一個節(jié)點(diǎn)是萬位到千萬位這樣進(jìn)位只會向后擴(kuò)展和手工豎式一致。#define BASE 10000 // 萬進(jìn)制每個節(jié)點(diǎn)存 4 位 #define MAXDIGIT 1000 // 最多 1000 個節(jié)點(diǎn)約 4000 位 typedef struct BigIntNode { int val; // 0 ~ 9999 struct BigIntNode *next; // 指向更高位 } BigIntNode;4.2 萬進(jìn)制加法的實現(xiàn)從低位進(jìn)位到符號分離加法邏輯和十進(jìn)制豎式完全一樣從低位開始逐節(jié)點(diǎn)相加carry 記錄進(jìn)位結(jié)果當(dāng)前位是 sum % BASE進(jìn)位是 sum / BASE。需要注意循環(huán)結(jié)束條件當(dāng)兩個鏈表都遍歷完但 carry 不為 0 時還要再創(chuàng)建一個節(jié)點(diǎn)存放最高位的進(jìn)位這是加法最常見的遺漏點(diǎn)。BigIntNode* add(BigIntNode *a, BigIntNode *b) { BigIntNode *head NULL, **tail head; int carry 0; while (a ! NULL || b ! NULL || carry ! 0) { int sum carry; if (a ! NULL) { sum a-val; a a-next; } if (b ! NULL) { sum b-val; b b-next; } carry sum / BASE; BigIntNode *node (BigIntNode*)malloc(sizeof(BigIntNode)); node-val sum % BASE; node-next NULL; *tail node; // 尾插法保持低位在前 tail node-next; } return head; }這段代碼用了二級指針 tail 做尾插法好處是不需要單獨(dú)維護(hù)頭節(jié)點(diǎn)的前驅(qū)。如果你不熟悉二級指針也可以用一個啞節(jié)點(diǎn)dummy head簡化邊界判斷返回時記得釋放啞節(jié)點(diǎn)。符號處理建議放在加法外層加數(shù)和被加數(shù)同號時直接調(diào) add異號時變成減法比較絕對值大小后調(diào)用減法函數(shù)結(jié)果符號取絕對值大的一方的符號。把符號和絕對值運(yùn)算分離比在加法內(nèi)部處理負(fù)數(shù)干凈得多不容易出現(xiàn)「負(fù)負(fù)得正卻忘了進(jìn)位」的玄學(xué) bug。4.3 萬進(jìn)制乘法與輸出補(bǔ)零先累加再統(tǒng)一進(jìn)位乘法如果直接模仿豎式逐位相乘最直觀的做法是兩層循環(huán)把 a 的第 i 個節(jié)點(diǎn)和 b 的第 j 個節(jié)點(diǎn)的乘積累加到結(jié)果數(shù)組的下標(biāo) ij 處。這里最常踩的坑是「邊乘邊進(jìn)位」一邊累加一邊處理進(jìn)位會導(dǎo)致后續(xù)累加時數(shù)組里已經(jīng)有進(jìn)位后的值再疊加就亂套。正確做法是先用一個數(shù)組把原始乘積全部累加完最后統(tǒng)一做一輪進(jìn)位這也是高精度乘法的標(biāo)準(zhǔn)姿勢。BigIntNode* multiply(BigIntNode *a, BigIntNode *b) { int lenA 0, lenB 0; BigIntNode *pa; for (pa a; pa ! NULL; pa pa-next) lenA; for (pa b; pa ! NULL; pa pa-next) lenB; long long res[MAXDIGIT * 2] {0}; // 中間結(jié)果用 long long防溢出 int ai 0, bj 0; for (pa a; pa ! NULL; pa pa-next, ai) { bj 0; for (BigIntNode *pb b; pb ! NULL; pb pb-next, bj) { res[ai bj] (long long)pa-val * pb-val; } } // 統(tǒng)一進(jìn)位從低位到高位依次處理 int totalLen lenA lenB; for (int i 0; i totalLen; i) { res[i 1] res[i] / BASE; res[i] % BASE; } // 把 res 數(shù)組轉(zhuǎn)回鏈表去掉高位多余的 0 int highPos totalLen; while (highPos 0 res[highPos] 0) highPos--; BigIntNode *head NULL, **tail head; for (int i 0; i highPos; i) { BigIntNode *node (BigIntNode*)malloc(sizeof(BigIntNode)); node-val (int)res[i]; node-next NULL; *tail node; tail node-next; } if (head NULL) { // 結(jié)果為 0 BigIntNode *node (BigIntNode*)malloc(sizeof(BigIntNode)); node-val 0; node-next NULL; head node; } return head; }下標(biāo)映射要算清楚a 的第 i 位從 0 開始和 b 的第 j 位相乘結(jié)果貢獻(xiàn)到 res[ij]不是 res[ij1]。搞錯下標(biāo)最典型的故障是結(jié)果恰好少了一位檢查時很難發(fā)現(xiàn)。乘法的時間復(fù)雜度 O(lenA × lenB)兩個 1000 節(jié)點(diǎn)的數(shù)相乘要執(zhí)行百萬次乘法C 語言在毫秒級完成課設(shè)驗收完全沒問題如果要優(yōu)化可以用 Karatsuba但普通要求用不到。輸出函數(shù)是另一個重災(zāi)區(qū)。鏈表是低位在前輸出必須先從最高位節(jié)點(diǎn)開始。最高位節(jié)點(diǎn)直接輸出數(shù)值后面每個節(jié)點(diǎn)要用 %04d 格式補(bǔ)零到 4 位否則 10001 會變成 11。負(fù)數(shù)在輸出前打一個 -然后走絕對值鏈表。5. 課設(shè)常見問題排查越界、爆棧、超時與對不上的報告5.1 哈夫曼n1 時直接崩編碼表逆序和越界現(xiàn)象輸入文本只有一個字符時程序崩潰或輸出亂碼編碼表生成后某些字符的編碼是反的譯碼結(jié)果錯亂。原因單字符時哈夫曼樹只有一個根節(jié)點(diǎn)建樹循環(huán)不執(zhí)行后續(xù)譯碼訪問了未初始化的 ht[cur].lchild編碼生成時從葉子往根走得到的序列是倒序沒有反轉(zhuǎn)就存入編碼表。解決建樹前判斷 leafCnt 1 直接走單字符特例邏輯genCodes 里在拷貝之前把 tmp 反轉(zhuǎn)一遍。建議把編碼生成的倒序邏輯單獨(dú)抽成一個函數(shù)測試時用一個只有兩個字符的字符串驗證編碼比如 aaab手動推導(dǎo)一遍編碼再對照程序輸出。5.2 遞歸替換棧幀字段少壓一個結(jié)果就翻車現(xiàn)象快排非遞歸版本對小數(shù)組排序正確對大數(shù)組排序結(jié)果部分錯誤或者程序能跑完但輸出沒有完全有序。原因遞歸改非遞歸時把遞歸函數(shù)的參數(shù)和局部變量的壓棧順序搞混了??炫诺拿總€棧幀只有 low 和 high但如果原遞歸函數(shù)里有中間的臨時變量比如劃分后的 pivot 位置非遞歸版本也必須把它存進(jìn)棧幀否則子區(qū)間范圍會算錯。解決對遞歸函數(shù)做一次棧幀分析列出「入口參數(shù) 進(jìn)入函數(shù)后可能被修改且后續(xù)還要用的變量」這些全部放進(jìn)結(jié)構(gòu)體。壓棧順序和遞歸調(diào)用順序保持一致彈棧后再按對應(yīng)順序處理。驗證方法是用遞歸版快排對拍隨機(jī)生成數(shù)組反復(fù)測不要只測教材上的示例數(shù)據(jù)。5.3 跳馬 BFS入隊即標(biāo)記出隊標(biāo)記會超時現(xiàn)象棋盤在 20×20 以內(nèi)正常擴(kuò)大到 100×100 時程序變卡甚至內(nèi)存不夠BFS 求出的步數(shù)偶爾還不對。原因在節(jié)點(diǎn)出隊時才標(biāo)記 visited同一個節(jié)點(diǎn)被多個方向同時擴(kuò)展到會被重復(fù)入隊多次隊列膨脹到指數(shù)級。教科書上寫的是「出隊時標(biāo)記」是某些特定寫法但在棋盤這種每個節(jié)點(diǎn)有 8 個鄰居的圖上必須「入隊時標(biāo)記」。解決在 dist[nx][ny] ! -1 判斷通過后立即給 dist[nx][ny] 賦值并入隊。這個判斷既是防重入也是距離賦值的前提。上課設(shè)驗收時用 1000×1000 的棋盤從角上跑到對角如果跑到一半卡住先查標(biāo)記時機(jī)。5.4 長整數(shù)乘法一邊乘一邊進(jìn)位會覆蓋結(jié)果現(xiàn)象萬進(jìn)制乘法結(jié)果比預(yù)期小很多或者中間某位出現(xiàn)負(fù)數(shù)偶爾結(jié)果還正確換一組數(shù)據(jù)就錯。原因兩層循環(huán)里每乘一次就立刻處理進(jìn)位把 res 數(shù)組里還沒累加完的數(shù)提前改寫。比如 res[0] 先累加了 9999×9999進(jìn)位到 res[1]之后 res[0] 又要累加新的乘積原來的低位還沒參與后續(xù)累加數(shù)據(jù)就被進(jìn)位破壞了。解決用 long long 數(shù)組存原始乘積兩層循環(huán)全部累加完后再從低位到高位統(tǒng)一進(jìn)位。這一步里數(shù)組下標(biāo)從 0 到 lenAlenB-1 都要處理進(jìn)位可能產(chǎn)生到 lenAlenB 的位置數(shù)組要開到兩倍長度。輸出時注意高位補(bǔ)零用 %04d 不是 %d。5.5 報告與代碼版本不一致課設(shè)驗收的隱形扣分現(xiàn)象演示時運(yùn)行正常但交上去的實驗報告里截圖的數(shù)據(jù)和最終代碼輸出對不上答辯時被問到測試數(shù)據(jù)答不上來。原因代碼改過多版報告里的測試結(jié)果還是早期版本沒同步更新。數(shù)據(jù)結(jié)構(gòu)實驗報告最被看重的是測試數(shù)據(jù)的完整性和可復(fù)現(xiàn)性不是代碼貼圖越多越好。解決確定代碼最終版后固定一組輸入文件命名為 test1.in、test2.in把對應(yīng)的輸出文件test1.out、test2.out一起放到報告附件里。報告里每個模塊放「輸入、輸出、說明」三行對齊的表格測試數(shù)據(jù)包含普通情況、邊界情況空輸入、單字符、最大長度、不可達(dá)路徑這些數(shù)據(jù)和現(xiàn)場演示保持一致。代碼每改一版就把全部測試重新跑一遍輸出存進(jìn)同一目錄覆蓋舊文件。6. 驗收前最后一小時對拍、壓測與留痕6.1 用對拍腳本驗證正確性對拍是競賽選手驗證程序的標(biāo)準(zhǔn)手段課設(shè)同樣適用。思路是寫一個你認(rèn)為絕對正確的參考程序再寫一個隨機(jī)數(shù)據(jù)生成器兩個程序吃同一份輸入逐條比較輸出。長整數(shù)運(yùn)算用 Python 的 int 做參考最穩(wěn)哈夫曼和跳馬可以手寫一個暴力解做參考比如跳馬的參考程序用 DFS 在小棋盤上窮舉所有路徑步數(shù)逐個比較。#!/bin/bash # 對拍腳本隨機(jī)生成輸入比較兩個程序的輸出 for i in $(seq 1 1000); do python3 gen.py test.in ./ref test.in ref.out ./mine test.in mine.out if ! diff -q ref.out mine.out /dev/null; then echo Case $i failed echo --- input --- cat test.in break fi done echo finished對拍能暴露的問題很多時候是「程序邏輯正確但輸入輸出格式不對」比如多了個空格或少了個換行。比起期末復(fù)習(xí)時背結(jié)論這個習(xí)慣能直接告訴你代碼哪里和預(yù)期不一致。隨機(jī)生成器要覆蓋邊界哈夫曼的輸入要包含只有一個字符的情況長整數(shù)的輸入要包含負(fù)數(shù)、0、首位有前導(dǎo)零的數(shù)跳馬要生成起點(diǎn)等于終點(diǎn)的數(shù)據(jù)。6.2 邊界數(shù)據(jù)與壓力測試清單驗收前按下面的表格過一遍每一項都記錄實際輸出寫進(jìn)報告里就是完整的測試小節(jié)。模塊邊界測試數(shù)據(jù)預(yù)期結(jié)果哈夫曼空文本 / 單字符文本 / 全部字符同頻空文本不崩單字符編碼為空串同頻字符樹高盡量均衡哈夫曼100 萬字符長文本建樹和編碼總耗時在 1 秒內(nèi)內(nèi)存不超 10MB遞歸替換數(shù)組長度 0 / 1 / 已有序 / 完全逆序不崩且排序結(jié)果正確跳馬起點(diǎn)終點(diǎn) / 不可達(dá)坐標(biāo) / 1000×1000 大棋盤起點(diǎn)終點(diǎn)相同返回 0不可達(dá)返回 -1大棋盤 1 秒內(nèi)出結(jié)果長整數(shù)0 負(fù)數(shù) / 9999×9999 邊界進(jìn)位 / 4000 位最大長度進(jìn)位正確輸出無前導(dǎo)零負(fù)數(shù)符號正確大數(shù)壓測時如果發(fā)現(xiàn)乘法超時先把 BASE 從 10000 降到 1000 試試能定位是進(jìn)位邏輯問題還是真的算法效率不夠。棋盤壓測的隊列數(shù)組要按最大棋盤尺寸預(yù)分配別用動態(tài)增長的小數(shù)組反復(fù) realloc性能會差很多。最后說點(diǎn)題外話。我當(dāng)年做跳馬問題時BFS 用的是出隊標(biāo)記自己測 10×10 怎么都對課設(shè)答辯現(xiàn)場老師把棋盤調(diào)成 100×100程序卡了十幾秒才出結(jié)果場面一度尷尬。后來養(yǎng)成習(xí)慣每個模塊寫完先寫一個 10 行左右的暴力參考程序?qū)ε囊惠喸倌脴O限數(shù)據(jù)壓一次性能。這套流程看著慢實際省下的調(diào)試時間遠(yuǎn)超預(yù)期。希望這些踩坑記錄能讓你把課設(shè)做到「敢現(xiàn)場演示」的程度。本文還有配套的精品資源點(diǎn)擊獲取
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
欧美97av| 女人天堂AV五区在线| 国产久久久久影院老熟女| 国语av最新自产拍在线观看| 日本操逼视频免费| 欧美性五月| 成人资源中文字幕在线观看天天| 欧美性爱五月天| 先锋激情∨在线视频播放| 久久久久国色αv免费观看| 性感女人网页在线观看视频| 中文字幕在线高清男人的天堂| 精品性爱| 亚洲欧美综合| 九九无码| 日少妇视频| 91N综合网| 五月天久久婷婷亚洲| 亚洲精品视频在线| 国产第25页在线观看| 20cm女自慰在线日韩欧美| 91综合天天| 蜜臀无码一区二区| 亚州日韩97| 中文字幕视频一区视频二区| 欧美色三级片91| 开心五月深爱五月| 欧美一级色| 日本三级R| 国产成人99久久亚洲综合| 欧美色图 色综合图| 色女免费在线观看视频网址| 欧洲自拍第一页| 久超超碰| 国产AV线| 91天天| 日韩欧美传媒一区国产| 91无码人妻精品一区二区三区蜜桃| 韩日巨乳美女免费视频在线观看| 91久久久老司机| 久久日本熟妇熟色高清| 9久久美女首页| 熟妇人妻一区二区三在线| 5252色欧美在线| 超碰在线人妻不卡| 欧美线天码中字| 草B在线| 日韩三级av片| 看日韩黄片| 人人干人人操人人爱| 色屁屁影院www国产| 91丨豆花丨熟女| 秋霞久久亚洲精品成人| 精品一区二区人妖| 99激情| 国产原创精品| 伊人久久大香线蕉亚洲五月天,青草青草欧美日本一区二区,欧美日产欧美日产国产 | 日韩卡一卡二卡三在线| 思思热久久成人| 伊人激情五月天一区二区| 天天日天天干天天整| 九九探花视频在线观看| 四季AV综合网址| 神马午夜久久久| 欧美人妻熟女在线| 人人性爱视频免费| 中文字幕jul-617人妻熟女| 婷婷色中文字幕| 天天狠| 第四色亚洲色图| 丝袜美女诱惑 91 视频| 中文字幕在线免费观看2| 加勒比在线视频一区二区三区| 九九99精品视频在线观看| 一二三四免费视频| 爱丝福利| 1级午夜影院费免区| 天天躁日日躁XXXXYY| 好淫网一二三视区| 欧美人人天天网| 超碰在线91| 成人性爱av| 99爱精品| 熟女91网| 亚洲性爱乱操x| 色情综合网| 精品无码人妻一区二区免费蜜桃| 亚洲人天堂| 亚洲天堂中文字| 韩国一区二区精品亚洲| 色哟哟精品1精品2| 亚洲蜜桃V妇女| 97久久久精品| 蜜臀久久99精品久久久| 欧美淫穴| 久久久久久综合久久伊人蜜月| 极品尤物自安慰| 日本不卡三级网在线播放| 久久久精| 一块操欧美| 97jingpin| 日韩性爱小视频| 亚洲国产日韩欧美熟妇在线| 好爽免费视频,| 国产不良强奸视频免费看| 人妻嗯啊啊在线播放| 97jingpin| 欧美日韩午夜精品一区二区三区| 7月婷婷综合| 白丝一区| 青青草密桃在线播放| 亚洲天在线| 久久久久久国产无码精品| 亚洲人妻熟妇三十三区| 国内毛片国产欧美拍| 美女啊啊啊啊pc| 亚洲丝袜诱惑| 色九九九综合| 中文字幕神马久久| 免费一级黄色录像影片| 丝袜 中出 制服 人妻 美腿 中文字幕| 日本午夜操逼| 精品视频久久区| 亚洲图片日本AⅤ欧美在线| 国产农村妇女精品1区二区| 精品人妻一二三| 一区久久久二区| 麻豆国产精品午夜视频| 欧洲精品久久| 91热爆在线| 亚洲第一视频 欧美风情 日韩| 日本在线激情一区二区三区| 欧美狠狠狠| 狠狠激情综合狠狠操中文字幕| 俺也射| 成人精品在线| 国产综合久久久麻桃个| 日韩内射视频| 日本免费人成视频播放120秒| 久久久不卡区一区二区三区久久久| 日本一区二区三区午夜观看| 四季AV一区二区凹凸精品小说| 美女视频尤物网在线看| 综合色久欲| www超碰| 秋霞操逼片| 一区二区三区黄色片a| 国产亚洲欧洲在线观看| 99热精品在线| 伊人激情五月天一区二区 | 免费操逼视频下载| 亚洲高清欧美总合| 超碰97男人| 黄色片,com| 成人草草视频| 吉田爱美AV在线| 日本人人操人人操| 麻豆天美91| www.男人天堂| 亚州人妻| 九九精品美女高溯喷水| 天天操天天舔| 美日韩成人| 色婷婷综合久久久久中文国产精品一区中文字幕,国产福利电影一区二区三区 | AV色女综合| 天天综合网~69| 高清成年美女黄网站免费大全| 91美女视频。| 久操大香蕉超碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰 | 欧美乱妇狂野欧美在线视频| 久久人妻精品| 亚洲黄色a级片| 99自拍B亚洲| 欧美激情另类一区二区| 1769国内精品视频| 手机在线免费看的av| 99re超碰| 欧美 日韩第一性色| 成人热久久精品| 91久久久久久久| 久久国产免费激情视频| 天天谢天天干| 国产精品久久妻无码网站| 97中文综合| 热的中文 热的有码 热的国产| 女同在线视频一区| 色狠狠综合| 中文操嬖片。| 国产绿奴视频在线观看| 日本性感人妻91| 欧美综合网A| 一本色道久久综合亚洲二区三区| 精品少妇人妻| 欧美熟女丝袜| 青青草字幕AV| 午夜福利在线合集| 超碰天天久久79| 青青草视频久久| 欧美极度丰满熟妇hd| 欧美大香蕉专区网| 久久精品店| 欧美性爱三区二区| 一区二区三区探花在线观看| 国产三级资源在线观看| 欧美国产精品| 久久91视频| 青青伊人这里只有精品| 日本东京热加勒比久久| 成人性爱电影网| 一区二区三区精品视频| 成人精品在线| 极品五月天噜噜| 激情五月天婷婷| 开心激情站| 久久国产精品91| 奸色色 男人天堂 天天射| 精品久热| 亚洲天堂性爱| 欧美久久毛片基地| 成人久久久精品| 色天堂在线观看| 欧洲亚洲人人爽爽视频| 诱惑网综合| 国产色图乱伦| 国语av最新自产拍在线观看| 开心五月婷婷激情| 久久久亚洲精品电影免费看| 亚洲另类色图片| 大香蕉十区| 日韩电影天堂视频二区三区| 欧美高清在线| 97碰久久| 午夜福利免费福利视频| 97天天搞在线| 大香蕉92| 偷拍偷窥与盗摄视频专区| 精品国产丝袜一区二区三区乱码| 男男H黄动漫啪啪无遮挡网站| 国产精品青草综合久久| 91久久精品国产| 牛牛久久国产精品视频一二三| 中日韩久久久免费看| 亚洲资源站| 91精品微拍福利| 亚洲高清无码免费观看视频| 性色高清在线| 亚州色图欧美色图| 性videos欧美熟妇hdx| 亚洲少妇综合在线播放| 在线啊啊啊啊| 亚洲 欧美 日本 国内 首页| 色婷婷六月丁香七月婷婷| 人妻aa| 欧美精品人妻视频| 9久9久| 亚洲精品国产专区在线观看| 69超碰综合| 亚洲精品 欧美精品| 精品人妻一区二区三区日产乱码| 五月丁香六月婷| 精品小视频在线| 97超碰久久| 亚欧无码在线| 日韩色图 一区二区| 亚洲熟伦熟妇AV无码春色| 欧美精品1区2区3区| 黑丝91视频| 亚洲区 欧美区| 一级日本牲交大片好爽在线看| 日本三级韩国三级99| 岛国999| 翔田千里无码一区| 亚洲情色91| 91大香蕉伊人| 中文字幕在线免费观看视频| 久久久内射良家| 超碰97人人cao| 久久久精久久久| 78精品在线| 囯产操逼片| 91超碰碰在线| 日本成人电影资源网| 黄色小说亚洲| 国产精品福利视频播放| 精品人妻无码一区二区三区不卡-精品人妻无码一区二区...|精品少妇一区二区三 | 我想要啊 啊 啊| 99re国产精品视频| 伊人少妇久久久| 亚洲精品一区二区精华| 天天日天天舔天天喷天天射| 国产区在线| 极品极品色影院| 老司机午夜精品福利视频一区二区 | 亚洲色婷婷| 中日韩久久久免费看| 日操粉逼逼| 尤物视频偷拍免费| 国产综合操逼高清| 中文字幕欧美丝袜07资源| 99性爱视频| 国产午夜精品一区二区三区牛牛| 久久丁香| 国内毛片热久久思思热| 91亚.色| 国产成人自拍视频在线| 国产精品乱码久久久久久久久| 日本在线不卡一二区| 中文字幕亚洲在线一区| 日产精品久久久一区二区| 亚洲免费人妻在| 91人人操| 久草资源在线视频官方总站日韩丝袜美腿| av一区二区三区不卡| 久久精9| 精品一二三区久久AAA片| 久草线上视频免费看| AV无码久久久精品| 99国产女人| 日韩中文字幕熟妇人妻| 中文字幕一区二区免费在线| 青青草色AV| 日韩精品99999| 国产一国产一级毛片古装| 欧美色图天堂网m| 国产久久成人| 久久有码视频| 欧美色图 人妻| 国产成人无码久久精品| 2023天天操夜夜操| 天天综合~91| 97在线欧洲| 综合操逼| 国产精品久久久啊| 二级毛片| 欧美曰韩国产精品| 五月婷婷色色| 翔田千里AⅤHD无码| 欧美亚洲清纯| 亚洲男人天堂2013| 天天日老熟妇| 午夜九九| 亚州色站 日韩电影| 777琪琪午夜免费A片| 亚洲清纯综合| 9长久久精品| 人人操人人狠狠操| 秋霞久久亚洲精品成人| 美女诱惑一区| 中文字幕第7页| 欧美视频激情久久久久久| 爱我干综合| 18禁中文字幕| 国产一区免费午夜视频| 不卡日本一区二区| 热热色青青草| 天天摸夜夜操视频| 久久久com| 人妻99p| 岛国激情视频软件| 东京热一区二区中文字幕| 亚洲少妇自拍中文字幕懂色| 九九拍拍精品视频在线播放| 热天堂一区二区| 性爱乱伦网址| 黄色免费一级在线毛片| 大香蕉一级黄色片久久| 欧美性91| AV中文字幕三四五| 无码九九| q2午夜理论片夜色av| 美美91成人国产精品欧美精品久久久久久久 | 久久久婷婷| 99热免费| 欧美成不卡网| 久久的网站啊啊啊啊啊| 日韩精品人妻中文字幕有码午| 120分钟婬片免费看| 8050无码八戒| 一区二区三区欧美激情| 尤物一级在线免费观看| 人妻日日干| 国产一进一出视频网站| 欧美1区二区三区公司 | 日日夜夜骚| 人妻在线臀日韩| 啊啊啊好爽快点啊啊啊嗯嗯| 日韩三级一区| 暖暖精品二区三区观看| 亚洲春色一区二区三区| 偷拍综合网| 欧美亚洲中文| 強姦亂倫a| 最新av中文字幕高清| 色哟哟综合| 性久久| 日韩精品黄片免费观看| 狠狠穞A片一區二區三區| 久久乐| 中文字幕精品人妻丝袜| 亚洲国产综合久久天堂| 熟女欧美日韩综合婷婷| 人妻少妇久久中文| 黑人精品欧美一区二区蜜桃| 免费视频一二三区| 91人精品妻入口| 久久精品日韩| 五月天婷婷基地| 殴美,日韩国产伦精品| 91精品人妻一区二区三区蜜桃臀| 中文字幕久久精品一区| 曰本道人妻久久久在线不卡色视频| 女人天堂网| 91少妇人妻| 久久久精品中文字幕爱豆| 夜夜天天噜狠狠爱2021| 五月综合视频| 国产传媒一区日韩| 这里只有97精品| 亚洲男人综合| 婷婷99| 偷拍超碰| 日韩久射综合| 免费啪啪av| 国内精品伊人久久久久影院会| 97超碰久久| 国产日逼视频| 可以免费观看的AV| 欧美韩国你懂得在线| 少妇色欲综合网2| 欧美操人视频| 男人的天堂不卡一区二区| 久久超碰亚洲人| 国产九九九九九九| 亚洲国产ⅴ高清在线观看| 99视频自拍| 试看福利| 欧美AAAA黄片| 婷婷爱五月| 97超碰精品成| 蜜乳视频网站| 欧美亚洲丝袜人妻制服99| 99在线视频播放| 97超碰人妻| 免費黃色視頻觀看一| 丝袜喷水在线| 亚洲视频精选| 人人考人人摸人人干| 亚洲精品一二三四区| 日本久久久久久久久久| 亚洲精品三区在线观看| 狠狠操一区二区| 精品熟女呻吟久久91| 深夜激情无码| 亚洲日韩狠狠撸视频| 黑人狂躁日本妞一区二区三区| 1区2区3区在线视频| 日本ZZ高免费A级视频| 欧美激情另类一区二区| 国产有码一区| 亚洲av噜噜噜噜噜噜| 志村玲子视频一区二区| 欧美操逼录像国产黄色国产| 欧美一级黄片免费播放| 中国女人内射6XXXXX| 大香蕉天天看妹子| 黄片qw| 欧美性,亚州色| 国内外内射高清视频| 综合网欧美在线| 日本幼女18+| 性色av婷婷久久一区二区点复制| 亚洲素人综合| 九九黄色视频在线观看| 9精品久久久久| 韩国黄色片精品久久久| 一本色道久久综合精品婷婷| 男人天堂2012| 国产91精品在线免费| 天天看少妇| 日本在线观看网址| 日本黄色裸日本黄色裸体| 可以在线观看的黄色网址| 亚av顶级裸体一区二区三区四区五区 | 色偷偷2020免费视频播放| 无码人妻丰满热妇又大又粗| 大香交| 五月丁香六月婷| 亚洲天堂男人的天堂| 啊好大好舒服| 韩国成人精品久久久免费看| julia ann久久| 日本一级一级一级一级| 97亚洲精品| 91伊人大香蕉| 亚洲乱码国产乱码精网站| 一本久久久精品| 嗯嗯啊操我| 台湾一区国产高清在线| 欧美丝袜美女电影一二三四区| 亚洲国产欧美中文永久| 无码精品久久久久久亚洲| 超碰97网址| 蜜乳AV网址| 国产白丝AV| 1204av韩国| 国产热RE99久久6国产精品首| 欧美性色网| 91中文精品日韩欧美在线| 性爱精品一区| 国产欧美在线观看免费观看| 91女优在线观看| 嗯嗯啊中文字幕| 国产欧美精选自拍一区| 99精品人妻| 亚洲欧洲第二视频在线观看色图| 99色在线视频| 久久久亚洲Av| 亚洲97超碰| 五月天加勒比啪| 欧美乱色| 午夜丁香| 青青伊人这里只有精品| 日本熟妇浓毛hdsex| 伊人久久亚洲色欲综合网站| 欧美性暴力猛交XXXX| 国产成人无码高清| 一二三四视频中文字幕在线看| 极品美女嘿咻| 少妇久久久免费| 欧美激情一区二区| 丝袜AV一二三区| 黄色片大香蕉| 操逼片中文| a片 xxxx受爽视频| 欧美亚洲在线| 女上位精品在线| 西西美女视频网| 欧美极品女人的天堂| 中文字幕精品资源在线| 最新三级网址| 操www| 高清有码一区二区| 日本色日夜干| 白丝av| 青草一区二区| 干B网| 97色欧洲| 婷婷10月天青娱乐| 午夜美女诱惑电源网| 亚洲色图第四色| julia中文字幕在线观看| 强上我不卡卡| 色眯眯射| 少妇极品熟妇人妻无码| 嫩草伊人久久精品| 玖玖资源中文字幕制服丝袜| 成人热久久精品| 青青青青草av在线观看| 中文字幕88av在线| 96免费视频在线| 色情亚洲日本成人| 综合欧美日韩在线| 欧洲亚洲人人爽爽视频| 久久人体一区二区| 日韩AV噜噜噜一区二区三区四区 | 岛国艾薇凹凸视频天堂| 97欧美性爱| 人人爱人人操人人性| 日韩国产成人自拍视频| 人人看人人摸人人色| 日本一本道A级黄色毛片试看60分钟| 中文字幕精品日韩中文字幕| 精品一区二区成人动漫| 色婷婷影视| 久久精品视-一级做a爰片性色毛片16美国-中国女与老外在线精品 | 亚洲欧美日韩电影网站一区| 亚欧美综合网。| 国产日韩中文字幕欧美| 熟妇人妻精品一区二区| 久久久亚洲熟妇熟女| 一级性爱视频免费观看 | 日韩精品国产一区二区| 亚洲美女自拍偷拍视频| 日日夜夜干| 久久9 9 9精品| 精品美女少妇一区二区| 国产日韩在线播放| 日韩色欲久久一二三四区| 精品国产乱码久久久久久蜜臀| 美女啊啊啊啊啊啊| 精品久久久久久无码| 国产精品无码av嫩草| 婷婷五月成人| 好爽要喷了| 日熟女| 精品人妻一区二区视频| 婷婷五月天_亚洲小说欧美激情另类_精品久久国产字幕 | 骚女高跟AV在线| 亚洲图片91| av强奸乱轮| 欧美婷婷| 久草电影网| 国产成人无码啪| 青青11操操操操操操操操| 一区二区三区日韩欧美| 九九九九九九九九九国产精品 | 久久久久久久国产a∨| 国产农村一一级特黄毛片| 人人超碰在线观看黄| 久久久久久九| 日韩成人电影AV| 啊啊啊啊啊,啊啊啊啊好舒服,操我舒服啊啊啊| 本道综合精品| 色妺妺在线视频| 屁股久久久久久| 999日韩中文精品观看视频。| av影院十区| 最新国产精品久久精品| 无码二级三级| 久久熟女人| 亚洲色图欧美一区二区不卡| 人人操AV| 日本一区二区不卡| 97久久超碰国产网站| 91高清无码下载| 国产热av| 欧美毛片在线网| 99久久精品欧美国产| 啊啊啊啊啊好大好舒服想要| WWW啪啪的com| 欧美 亚洲| 九九夜精品九九在线| 懂色AV蜜臀无码精品APP| 黄色工厂这里只有精品| 97视频在线免费看| 欧美人妻久久精品二区三区| 骚女天天综合网| 欧美后入视频| 97超碰色五月| 女人爽到高潮潮喷18禁网站| 成人AV超碰免费在线| 懂色av中文字幕一区二区三区天美 | 男女激烈网站最新| 久久只有精品| 久久久91| 欧美高潮| 青娱乐手机日韩在线视频| 狠狠狠狠狠| 91碰超| 女性喷水高潮在线观看| 久久老熟女| 97在线青| 9久久美女首页| 综合激情97 | 强奸乱伦大香蕉| 欧美色棕合| 日韩无码操逼片| 午夜亚洲WWW湿好大| 欧美热图99| 天天在线91| 免费草草草草草视频| 超碰午夜在线| 老司机福利社视频在线观看| 久湿久久| 大香蕉日韩欧美| 欧洲亚洲人妻无码久久三区四区| 综合网少妇| 99这里只有精品| 天天操福利视频综合网站| 夜精品久无码| 操死我了啊啊啊| 日日干夜夜欢| 天操天操夜操夜月月年年操操 | 十八禁视频网站| 久久久九九网站| 五月婷婷综合在线| 极品丝袜无码| 国产日韩欧美| 97在线免费看视频| 99re这里只有精品9| 久久啊啊| 又大又黄国产| 欧美亚洲20p| 中文字幕、久久精品国产2020、久久综合久久自在自线精品自、亚洲 | 日日操丁香五月天| 亚洲成人久久美女| 91久久国产综合久久| 东方亚洲在线操逼天堂| 欧美综合亚洲综合| {男男暴菊gay无套网站| 你懂得91| 久久久久少妇| 天天色综合天天操| 91在线丝袜视频| 中文字幕视频在线观看| 精品国产无码中文| 欧美色棕合| 九久久精| 国产成人+综合亚洲+天堂| 开心六月色| 亚洲骚逼少妇| 久久激情网| 熟女高潮合集-永久久久-成人AV| 亚洲开心网| 不卡免费av在线播放| 91国产大片| 9美女超碰在线免费观看| 亚洲一曲日韩精品| 1204av韩国| 国产成人拍国产亚洲精品| 亚洲少妇色| 中文字幕人妻丝袜乱一区三区| 欧美顶级黄片AAAAA在线免费看| 熟女露脸激情自拍视频| 日韩探花精品在线视频| 香蕉免费一区二区三区不读| 欧美日韩 强奸乱伦| 99啪啪| 蜜臀久久99精品久久久久免费观| 蜜桃久久一区二区| 久久久久久久一级黄色打同平台| 加勒比色99999| 欧美一区91大爱| 五十路一区无码| 天天影视射综合网| 亚洲操逼无码| 嗯嗯啊啊啊好爽| 欧美色偷拍 | 日本一区二区三区精品| 91精品国产日韩欧美综合| 九九九九九用不成了| 色伊人91| 啊啊嗯嗯好爽| 国产丰满熟夫69mpp| 九九黄色视频在线观看| 农村女一级毛卡片| 久欲AV| 国产按摩一区二区三区| 日本成a人v网站在线观看| 乱老熟女一区二区三区| 偷拍伦理视频| 亚洲蜜乳av| 91另类| 天美av在线| 大香伊人在线一区| 综合欧美日本三级| 国产亚洲精品美女久久久久久2021| 超碰在线1234区| 91干熟女| 日韩激情啪啪| 新怡红院| 亚洲码和欧洲精品激情系列| 五月婷婷深深爱| 国产精品久久天天干| 天天cao在线| 国产成人啪一区二区| 日韩在线97| 少妇高潮99p| 久久久久人妻| 色色婷婷丁香| 五月综合视频| 美女黄频a美女大全免费皮| 澳门黄片一香蕉视频| 国产综合色精品在线观看| 亚洲做性| 精品人妻av区天天看片| 综合亚洲网| 97 色综合| 日本不卡在线二区三区| 可乐操在线| 超碰 欧美| 人人妻人人爽| 亚洲成a人v欧美综合天堂下载| 国产一国产一级毛片古装| 日韩熟女精一区二区三区不卡| 久久久久久久97| 五月丁香六月综合缴清无码| 国产一区二区成人av在线播放| 午夜福利无毒不卡| 中文字幕av乱伦| www.狠狠干.coom| 中文字幕在在线观看网站| 青青操少妇| 精品人妻一区二区三区不卡断 | 91 偷| 无码人妻一区二区三区色欲aⅴ | 精品无码不卡视频| 97久久超碰| 久久久av爱| 综合自拍| 国产色呦呦| 老熟女91av| 成人一级二级| 小视频国产| 99在线精品视频| 久久99草| 精品一级毛片在线观看| caoni国产亚洲av| 国产怡红院| 97av在线观看| 日韩在线观看中文字幕视频| 欧美日动态视频| 久久亚洲中文字幕视频| 狠狠干狠狠干| 男人的天堂三级| 一牛影视成人片免费| 69视频福利导航| 亚洲一区二区三区在线激情| 超碰79人人乐| 久久久久久久人妻丝袜| 99色热| 熟女精品日韩一区二区三区| 国产成人精品日本亚洲语言| 男人把坤坤插入女人的下体| 日韩欧美中文| 久久久久女教师免费一区| 亚洲色 国产 欧美 日韩| 97视频在线观看网站| 国产97视频免费观看| 中文字幕第23区| 久久精视频美日韩在线视频| 日韩国产九九精品一区二区三区毛片| 日逼视频日本| 日1区2区3区2020| 一品道视频一区二区三区| 香蕉视频精品亚洲一区二区三区在线播| 日韩中文字幕二区| 欧美欧美啪啪视频| 久偷拍欧美日韩三区| 插欧洲美女欧美精品| 亚洲人精品久久久| 五月天婷婷欧美三区| 国产精品一区二区久久精品| 色哟哟av| 91电影色诱| 久9视频| 免费黄色片。| 欧洲精品二区| 日韩一级二级三级免费看完整版国语版| 久久精品国产免费观看99| 亚洲天堂一区| 蜜桃臀AV在线| 伊人97色天使| 亚洲无码99| 欧美aa一级片| 亚洲天堂男人网| 日韩黄色小说| 91爱看| 欧美性后入| 色色色99| 色九九九综合| 精彩视频日韩| 亚洲色诱惑| 日本一本道A级黄色毛片试看60分钟| 成年人黄色| 亚洲AV不卡在线观看尤物| 久久侵犯人妻爽爽爽| 日韩性爱高清免费视频| 18禁网站在线播放| 欧美人妻久久精品二区三区 | 久久亚洲一区女同性恋中文字幕 | 亚洲二区精品在线观看| xxxx网站亚洲精品| 被体育老师抱着c到高潮| 国产不卡免费在线视频| 美女极品一区二区三区| 黄色视频60分钟| 天天色图| 久久久久久亚洲中文| 欧美性爱免费短视频| 在线播放免费av福利片| 操逼操网| 国产久久久久久久久一区二区 | 日韩在线视频1234| 天堂av2019| 中文字幕制服欧美久久一区| 欧美色图成人网一区二区 | 97超碰香蕉| 99人妻碰碰碰久久久久禁片| 伊人久久亚洲中文字幕| 97欧美精品综合| 九九人妻| 2019天天干| 韩国黄片aaaa| 超碰爽人妻熟女Av| 婷婷精品国产欧美精品亚洲人人爽| 骚鸭AV| 大香蕉综合网| 欧美性生活免费网| 精品久久久av| 乱操9999| 亚洲免费成人在线高清无码视频 | 丝袜制服字幕在线| 91欧美巨乳| 人妻二区| 欧美亚州手机在线| 蜜臀无码一区二区| 国产精品一区av在线| 日本精品一区三区| 少妇熟女1区2区3区| 欧美性爱五月天| 天天操人人操骚逼网站| AA级电影三区| 久久久噜噜噜久久久| 国产熟女一区二区| 欧美啪啪女女| 91青青在线视频| 18禁网站在线播放| 999 久久久| www亚洲免费| 午夜精品久久久久久久99热影院| 色吧5亚洲| 熟妇亚洲一区二区三区| 国产熟女无套内射| 久9爱精品| 亚洲激情av| 78操B| 91女人的网站| 日韩成人私密一级精品av| 啊啊啊com| 黄色片A级一区二区三区| 九九九九日本| 韩日无码在线观看| 国产精品另类一区大香蕉| 日本在线播放不卡一区| 亚洲黄色电影| 欧美九九99久久精品| 久久亚洲欧美中文字幕国语| 粉嫩少妇自慰在线| 熟女六十路| 久久久久9999| 91爱看| 日韩中字av一区| 性色av蜜臀av色欲aV| 天天日骚逼熟女| 另类图片五月| 日韩色| 99热在线播放| 97超碰精品| 天天干夜夜鈤| 97在线免费视频观看| 美欧色综合| 97干com| 一级黄色性爱A级片| 干日本人少妇午夜寂寞影院| 精品人妻一二三| 骚熟女吞| 国产欧美一区二区| 日本性爱欧美性爱| AV中文字幕剧情1区2区3| 精品人妻一区二区三区四区石在线| 欧美一级专区免费大片| 亚洲精品无码少妇久久| 深夜福利黄片| 农村妇女精品一二区| 亚州国产成人精品女人久久 | 婷婷色一区| av日韩在线观看电影| 成人乱人伦一区二区| 免费岛国一级片| 啊啊啊啊啊啊啊啊在线观看| 青青五月天| 天美传媒精品久久视频| 欧美日韩精品青青| 久久久免费懂色| 日韩精品影视| 好爽要喷了| 精品久久久久成人码免| 日韩精品资源| 91在线观看,天天综合| 色欲久久99国产精品久久久久久| 91中出在线| 五月天伊人网| 久久久久久一日韩字幕无码| 国产成人一级av88| 国产欧美一级在线观看| 亚洲Av无码成人精品国产| 日本色色网| 午夜久久一区二区无码中出| 亚洲欧洲色情高清| 校园春色宗合网| 97久久久久| 亚洲97| 欧美成人一级免费电影| 长长久久曰曰夜夜成人网| 亚洲熟女乱熟乱熟妇综合网二区| 亚洲精品1区| 91色插| 久草视频在线视频在线视频在线观看 | 免费在线黄片视频| 九九热九九热| 久久久久九九九九九| 久久69| 人人操人人叉人人插人人| 欧美天天拍| 青青草中日韩在线| 摸奶性爱视频网站在线免费播放| 啪一啪免费视频| 亚洲男人天堂2016| 久草新在线| 大香蕉九九| 日韩懂色网| 国产sv美女内射| 美女写真| 99re这里| 亚洲最新a在线观看| 伊人国产视频| 欧美日韩电影成人在线| 九九九综合精品| 综合色欧美| 天天天天天干夜夜夜夜夜操| 91熟女.com| 极品白嫩美女白浆成人福利在线看| 乱老熟女一区二区三区| 日韩av在线精品观看| 天堂国产AV| 精品亚洲成人免费在线| 亚洲视频小说| 天天操夜夜嗨| 日韩青久久| 噜噜吧,噜噜色,噜噜| 欧美情色亚洲| 91亚·色| 欧美色性爱| 大茄子熟女AV导航| 嗯阿好爽好紧| 人人做,人人操,人人摸| 日韩中文字幕宗合在线| 欧美精品自慰系列寂寞少妇| 精品中文字幕第一页| 欧美 亚洲 综合 制服 另类| 人、人、摸,人、人、草| 久久女女| 久久国色天香香蕉| 欧美αv.com| 激情在线青青操| 无码视频一区二区| 色牛牛AV| 欧美激情性爱视频网站| 97视频在线免费| 中文字幕亚洲欧美在线不卡| 久久亚洲AV无码专区国产精品| 人妻激情视频| 美女91在线观看| www久久99| 欧美高清无码免费视频高清版| 国产天天看| 一块操欧美性爱| 国产一级内射无挡观看| 草B在线| 欧美日韩另类字幕中文| 超碰超碰95| 丁香啪啪| www.91久久| 久久久免费的精品| 黄色激情电影在线观看| 亚洲男人天堂av| 国产激情在线| 天天干夜夜操一区二区| 超碰久久精品| 欧美黑人极品高潮喷吹熟女黑人性暴力日韩在线欧美极品一区二区老师 | 婷婷20月天青娱乐| 激情四射婷婷六月天| 亚洲码和欧洲精品激情系列| 久妇网| 啊a一区在线| 骚逼一区二区| 欧美青青视频| 国模91| 日韩熟女视频二区| 天天干天天狼在线视频| 欧美亚洲尤物久久| 国产又操| 亚洲色图91欧美日韩| 手机不卡视频不卡在线一二三区| 国产丰满少妇久久久精品影院| 欲射影视| 亚洲欧美碰碰| 秋霞网—男女啪啪亚洲免费体验区| 欧美成人A√在线一区二区| 日韩激情无码影院| 日美免费黄片| 日夜啪电影| 老司机午夜福利视频一区二区| 欧美综合色综合| 综合亚洲欧美精品日韩?v| 91色综合激情| 久久亚洲一区二区色婷婷| 美国日韩黄片| 影音先锋中文字幕日本好一区二区| 欧美久久九九| 男人的天堂日本东京热| 青青色在线观看| 18禁中文字幕| 欧美中文字幕一区 | 夜夜嗨视频| 亚洲精品国产精品乱码不99| 久久久99久9| 欧美性色欧美| 日本色色的视频| 久久6热精品99视频| 日韩熟女操逼| 女人爽到高潮久久久| 91情色在线| 四虎影院成年人片| 亚洲黄色网址| 国产成人无码啪| 在线人妻熟女一区二区三区四区五区| 91丝袜人妻| 久久首页| 看看日B真人视频| 中文字幕91页| 日韩精品人妻中文字有码在线| AA级电影三区| 国模不卡一本二本三电影| 无码动漫av中文字幕| 天天综合色| 麻豆美女丝袜人妻中文| 亚洲中文字幕av| 麻豆亚洲AV成人无码久久精品| 激情文学网伊人| 国产精品96| 天天爽夜夜欢视| 日韩亚洲精品一区二区| 在线色资源| 男人亚洲91首页在线| 国产18精品亚洲精品| 日韩AV熟女乱伦| 婷婷国产精品一区二区| 色综合久| 久草精品国产99| 中文字幕人乱码中文字的预防方法| 免费中文在线| 亲子敌伦对白在线播放| 噜噜噜亚洲精品| 三级三级三级日本99| 精品国产三级av韩国在线| 欧洲精品欧洲精品| 四虎永久在线精品免费网址| 久久久久久亚洲中文| 俞拍久久国应视频| 激情欧美日韩女同久久| 长长久久曰曰夜夜成人网| 国产黄色剧情影片麻豆免费播放| 欧美伦乱爱| 熟妇最新先锋一二三区| 天天干天天操天天干天天操| 久久精品国产Aⅴ| 欧美日韩人妻精品一区二区三区| 黑丝少妇麻豆| 亚洲情色第一页| 白嫩国模丰满一二三区| 国产一区二区三区免费视频在性观看 | 色97| 日韩乱伦视频| 中文字幕精品一区二区精| 韩三级a视频在线观看| 78久久| 无码天堂| 狠狠超|