欧美成人午夜精品久久久,国产?V天堂一区二区三区,欧美精品va在线观看,亚洲一区二区三区免费在线观看,av无码精品一区二区久久,欧美性爱视频不卡一区三区,欧美乱人伦视频在线观看,国产一级牲交高潮

ARTICLE DETAIL

資訊詳情

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

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

數(shù)據(jù)結(jié)構(gòu)課設(shè)實(shí)戰(zhàn):哈夫曼編碼、遞歸替換、跳馬與長(zhǎng)整數(shù)運(yùn)算全解析 簡(jiǎn)介這是一份數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)完整報(bào)告圍繞哈夫曼碼編/譯碼系統(tǒng)、遞歸替換問題、跳馬問題與長(zhǎng)整數(shù)運(yùn)算四個(gè)經(jīng)典專題適合計(jì)算機(jī)專業(yè)學(xué)生在備考、期末復(fù)習(xí)或完成類似課程設(shè)計(jì)時(shí)作為參考。哈夫曼編碼部分詳細(xì)說明構(gòu)建哈夫曼樹、生成前綴編碼及編解碼過程遞歸替換問題分析模式查找與替換的遞歸策略及邊界條件跳馬問題采用深度優(yōu)先或廣度優(yōu)先搜索遍歷棋盤路徑長(zhǎng)整數(shù)運(yùn)算則闡述用數(shù)組或鏈表存儲(chǔ)大數(shù)并實(shí)現(xiàn)加減乘除的方法。每個(gè)專題均按標(biāo)準(zhǔn)課程設(shè)計(jì)體例展開包含數(shù)據(jù)類型定義、算法設(shè)計(jì)、函數(shù)調(diào)用關(guān)系圖、調(diào)試分析、測(cè)試結(jié)果和帶注釋的源程序目錄結(jié)構(gòu)清晰便于按步驟對(duì)照實(shí)現(xiàn)和驗(yàn)證。整包為單個(gè)PDF文檔大小268KB內(nèi)容集中目前已吸引171人學(xué)習(xí)適合作為數(shù)據(jù)結(jié)構(gòu)與算法實(shí)踐環(huán)節(jié)的輔助參考資料。1. 數(shù)據(jù)結(jié)構(gòu)課設(shè)四題合訂到底在考什么拿到《哈夫曼碼的編譯碼系統(tǒng)遞歸替換問題跳馬問題長(zhǎng)整數(shù)運(yùn)算問題》這套課設(shè)題組第一反應(yīng)通常是四個(gè)題四個(gè)方向哪個(gè)都不好糊弄。它把數(shù)據(jù)結(jié)構(gòu)的主場(chǎng)全占了——樹與編碼考哈夫曼樹遞歸與??歼f歸替換圖搜索考跳馬問題的 BFS 和回溯線性表與高精度考長(zhǎng)整數(shù)運(yùn)算。對(duì)正在做課設(shè)的本科生這是把數(shù)據(jù)結(jié)構(gòu)教材 C 語言版里的章節(jié)串成工程題對(duì)準(zhǔn)備數(shù)據(jù)結(jié)構(gòu) 408 和考研數(shù)據(jù)結(jié)構(gòu)的同學(xué)它幾乎就是樹、棧、圖、鏈表四塊的綜合練習(xí)。文章按這四個(gè)題逐個(gè)給出可復(fù)制的實(shí)現(xiàn)方案、關(guān)鍵參數(shù)和邊界處理末尾附上驗(yàn)收前的測(cè)試清單照著做就能把課設(shè)從「能跑」推進(jìn)到「敢演示」。2. 哈夫曼碼編譯碼系統(tǒng)從最小堆建樹到逐位譯碼2.1 先弄清編碼模型頻率表與前綴碼的關(guān)系哈夫曼碼的本質(zhì)是前綴碼任何一個(gè)字符的編碼都不是另一個(gè)字符編碼的前綴所以譯碼時(shí)不需要分隔符從根節(jié)點(diǎn)沿著 0/1 往下走走到葉子就是一個(gè)字符。整套系統(tǒng)分三段統(tǒng)計(jì)字符頻率、建樹生成編碼表、用編碼表壓縮電文并譯碼。課設(shè)最常見的翻車點(diǎn)不在建樹而在「只有一個(gè)字符」和「編碼生成方向反了」這兩個(gè)邊角料上。建樹的輸入是頻率表。常見做法是掃描輸入文本用數(shù)組統(tǒng)計(jì)每個(gè) ASCII 字符出現(xiàn)次數(shù)把出現(xiàn)次數(shù)大于 0 的字符作為葉子節(jié)點(diǎn)。這里不需要先把字符排序——排序算法在這里派不上用場(chǎng)直接用數(shù)組下標(biāo)映射字符掃一遍文本就能得到頻率復(fù)雜度 O(n)比先排序再統(tǒng)計(jì)更省事。葉子數(shù)量 n 確定后整棵哈夫曼樹的節(jié)點(diǎn)總數(shù)是 2n-1這個(gè)數(shù)字在建樹時(shí)要提前算清楚否則數(shù)組開小了會(huì)越界。2.2 哈夫曼樹的建樹代碼數(shù)組靜態(tài)鏈表與雙親指針課設(shè)里我一般不用動(dòng)態(tài)二叉樹而是用三個(gè)數(shù)組模擬靜態(tài)鏈表lchild、rchild、parent 各開 2n 大小。選數(shù)組而不是指針好處是調(diào)試時(shí)能直接看下標(biāo)打印整棵樹方便析構(gòu)也不用遞歸釋放。每個(gè)節(jié)點(diǎn)記錄權(quán)值、左右孩子和雙親雙親字段同時(shí)充當(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)對(duì)應(yīng)的字符 int leafCnt 0; void buildHuffmanTree() { // 從 leafCnt 開始創(chuàng)建內(nèi)部節(jié)點(diǎn)總共需要 2*leafCnt - 1 個(gè)節(jié)點(diǎn) for (int i leafCnt; i 2 * leafCnt - 1; i) { int m1 -1, m2 -1; int w1 0x7fffffff, w2 0x7fffffff; // 線性掃描找兩個(gè)最小權(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 個(gè)內(nèi)部節(jié)點(diǎn)。掃描時(shí)跳過 parent 非 0 的節(jié)點(diǎn)保證每個(gè)葉子只被合并一次。時(shí)間復(fù)雜度 O(n2)n 最大 128課設(shè)數(shù)據(jù)量下完全夠用如果追求理論性能可以換最小堆但代碼量上去后調(diào)試成本不劃算。注意 m1 和 m2 的更新順序——先用 m1 存最小值再用 m2 存次小值寫反了建出來的樹權(quán)值順序會(huì)亂編碼長(zhǎng)度雖然可能不變但樹的形狀不對(duì)。2.3 編碼表生成與譯碼的邊界情況生成編碼時(shí)從葉子往上走到根每走一步記錄 0 或 1走完得到的串是「從葉子到根」的反向序列必須倒過來才是真正的編碼。這個(gè)倒序操作是課設(shè)里最容易忽略的細(xì)節(jié)很多人把 tmp 直接拷進(jìn)編碼表結(jié)果譯碼時(shí)對(duì)不上。char codeTable[MAX_LEAF][MAX_LEAF 1]; // 每個(gè)字符的編碼字符串 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因?yàn)楦?jié)點(diǎn)的 parent 也是 0常見做法是檢查 lchild 和 rchild 是否同時(shí)為 0。這里有個(gè)特例必須單獨(dú)處理當(dāng) leafCnt 1 時(shí)整棵樹只有一個(gè)葉子節(jié)點(diǎn)編碼是空串譯碼時(shí)不管輸入什么直接輸出那個(gè)字符。不處理這個(gè)分支建樹循環(huán)根本進(jìn)不去后續(xù)代碼會(huì)訪問未初始化的節(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)但便于驗(yàn)證如果要求展示壓縮效果可以把 8 個(gè) 0/1 字符并成一個(gè)字節(jié)輸出解壓時(shí)再按位還原。3. 遞歸替換問題與跳馬問題遞歸和回溯的兩種考試姿勢(shì)3.1 遞歸替換問題顯式棧怎么還原函數(shù)調(diào)用遞歸替換問題的核心是「把遞歸算法改寫成非遞歸」考察對(duì)棧幀的理解。遞歸函數(shù)在運(yùn)行時(shí)每次調(diào)用都會(huì)把參數(shù)、局部變量和返回地址壓入系統(tǒng)棧遞歸改非遞歸的通用套路就是自己維護(hù)一個(gè)棧把原來隱式的壓棧彈棧變成顯式的 push 和 pop。常見題型包括快速排序非遞歸化、二叉樹遍歷非遞歸化、斐波那契尾遞歸消除課設(shè)里最常抽到的是排序類。以快速排序?yàn)槔f歸版本每次處理一個(gè)區(qū)間然后遞歸處理左右兩個(gè)子區(qū)間。改成非遞歸時(shí)棧里存的不是整個(gè)數(shù)組而是一個(gè)個(gè)「待處理區(qū)間」的左右端點(diǎn)。每個(gè)棧幀只需要 low 和 high 兩個(gè)整數(shù)這就是遞歸函數(shù)的運(yùn)行現(xiàn)場(chǎng)。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ū)間出棧時(shí)左區(qū)間先被處理和遞歸版本從左到右的順序一致。區(qū)間邊界 low high 時(shí)直接跳過這是遞歸出口的等價(jià)物。寫這類題容易犯的錯(cuò)是漏壓某個(gè)方向的區(qū)間或者把區(qū)間端點(diǎn)算錯(cuò)一位導(dǎo)致排序結(jié)果不對(duì)。建議對(duì)照遞歸版本逐行翻譯遞歸調(diào)用 f(l, mid-1) 對(duì)應(yīng)壓入 (l, mid-1)遞歸調(diào)用 f(mid1, r) 對(duì)應(yīng)壓入 (mid1, r)一個(gè)都不能少。3.2 跳馬問題建模走法數(shù)組與約束條件跳馬問題也叫騎士巡游問題給定 n×m 棋盤和起點(diǎn)終點(diǎn)馬按「日」字走求能否到達(dá)以及最短步數(shù)。這個(gè)題表面上和圖論里的最短路是一回事但棋盤是稀疏圖每個(gè)節(jié)點(diǎn)最多連 8 條邊所以用 BFS 求最短步數(shù)是標(biāo)準(zhǔn)解法。如果題目只要求「找一條可行路徑」DFS 回溯也能做但棋盤一大就指數(shù)爆炸課設(shè)里優(yōu)先寫 BFS。建模分三步坐標(biāo)系、走法數(shù)組、越界判斷。走法數(shù)組是 8 個(gè)偏移量寫錯(cuò)一個(gè)方向整個(gè)圖就壞了這是最常見的低級(jí)錯(cuò)誤。我用兩個(gè)數(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 實(shí)現(xiàn)與路徑回溯BFS 的代碼骨架是隊(duì)列加距離數(shù)組。距離數(shù)組初始化成 -1同時(shí)充當(dāng) visited 的角色一舉兩得。這里有個(gè)關(guān)鍵點(diǎn)節(jié)點(diǎn)在入隊(duì)時(shí)就標(biāo)記為已訪問而不是出隊(duì)時(shí)才標(biāo)記。入隊(duì)標(biāo)記能保證每個(gè)節(jié)點(diǎn)最多入隊(duì)一次隊(duì)列長(zhǎng)度可控出隊(duì)標(biāo)記會(huì)讓同一節(jié)點(diǎn)被多次入隊(duì)小棋盤看不出問題棋盤到了幾百階直接內(nèi)存膨脹加超時(shí)。#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)到每個(gè)格子的最短步數(shù)dist[x][y] dist[px][py] 1 成立的原因是 BFS 按層擴(kuò)展第一次到達(dá)某個(gè)格子的路徑一定最短。pre 數(shù)組用于回溯路徑到達(dá)終點(diǎn)后從終點(diǎn)沿著 pre 一路回退到起點(diǎn)再把序列倒過來輸出。如果題目只要求輸出步數(shù)pre 數(shù)組可以去掉省不少內(nèi)存但如果要求輸出完整路徑pre 必須保留。棋盤上限要注意隊(duì)列長(zhǎng)度n×m 最大一百萬個(gè)格子時(shí)queX 和 queY 要開到一百萬以上用變長(zhǎng)數(shù)組或者 malloc 動(dòng)態(tài)分配更穩(wěn)妥。4. 長(zhǎng)整數(shù)運(yùn)算問題萬進(jìn)制鏈表幾百位加法乘法怎么落地4.1 為什么選萬進(jìn)制鏈表int、數(shù)組與鏈表的選型長(zhǎng)整數(shù)運(yùn)算問題的輸入是幾百位甚至上千位的十進(jìn)制數(shù)任何原生整數(shù)類型都存不下。常見方案有兩種用數(shù)組從高位到低位存每一位或者用鏈表按位存。數(shù)組實(shí)現(xiàn)簡(jiǎn)單但課設(shè)題目明確要求「長(zhǎng)整數(shù)」鏈表是標(biāo)準(zhǔn)答案——鏈表的好處是長(zhǎng)度動(dòng)態(tài)增長(zhǎng)加法乘法產(chǎn)生進(jìn)位時(shí)不會(huì)浪費(fèi)空間也便于展示數(shù)據(jù)結(jié)構(gòu)功底。參考王道或大話數(shù)據(jù)結(jié)構(gòu)線性表一章鏈表的插入刪除本身就是考點(diǎn)這個(gè)題等于把鏈表操作和進(jìn)制轉(zhuǎn)換揉在一起考。存儲(chǔ)基數(shù)的選擇是關(guān)鍵參數(shù)。用 BASE 10 存每一位空間浪費(fèi)大且乘法效率低我一般用 BASE 10000即每個(gè)鏈表節(jié)點(diǎn)存 4 位十進(jìn)制數(shù)稱為「萬進(jìn)制」。萬進(jìn)制的好處有三點(diǎn)同樣長(zhǎng)度的數(shù)鏈表節(jié)點(diǎn)數(shù)少 4 倍節(jié)點(diǎn)值范圍 0~9999兩個(gè)節(jié)點(diǎn)相乘最大約 1e8int 放得下輸出時(shí)每個(gè)節(jié)點(diǎn)補(bǔ)零到 4 位即可。鏈表方向約定為「低位在前」即第一個(gè)節(jié)點(diǎn)是個(gè)位到千位下一個(gè)節(jié)點(diǎn)是萬位到千萬位這樣進(jìn)位只會(huì)向后擴(kuò)展和手工豎式一致。#define BASE 10000 // 萬進(jìn)制每個(gè)節(jié)點(diǎn)存 4 位 #define MAXDIGIT 1000 // 最多 1000 個(gè)節(jié)點(diǎn)約 4000 位 typedef struct BigIntNode { int val; // 0 ~ 9999 struct BigIntNode *next; // 指向更高位 } BigIntNode;4.2 萬進(jìn)制加法的實(shí)現(xiàn)從低位進(jìn)位到符號(hào)分離加法邏輯和十進(jìn)制豎式完全一樣從低位開始逐節(jié)點(diǎn)相加carry 記錄進(jìn)位結(jié)果當(dāng)前位是 sum % BASE進(jìn)位是 sum / BASE。需要注意循環(huán)結(jié)束條件當(dāng)兩個(gè)鏈表都遍歷完但 carry 不為 0 時(shí)還要再創(chuàng)建一個(gè)節(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; }這段代碼用了二級(jí)指針 tail 做尾插法好處是不需要單獨(dú)維護(hù)頭節(jié)點(diǎn)的前驅(qū)。如果你不熟悉二級(jí)指針也可以用一個(gè)啞節(jié)點(diǎn)dummy head簡(jiǎn)化邊界判斷返回時(shí)記得釋放啞節(jié)點(diǎn)。符號(hào)處理建議放在加法外層加數(shù)和被加數(shù)同號(hào)時(shí)直接調(diào) add異號(hào)時(shí)變成減法比較絕對(duì)值大小后調(diào)用減法函數(shù)結(jié)果符號(hào)取絕對(duì)值大的一方的符號(hào)。把符號(hào)和絕對(duì)值運(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 個(gè)節(jié)點(diǎn)和 b 的第 j 個(gè)節(jié)點(diǎn)的乘積累加到結(jié)果數(shù)組的下標(biāo) ij 處。這里最常踩的坑是「邊乘邊進(jìn)位」一邊累加一邊處理進(jìn)位會(huì)導(dǎo)致后續(xù)累加時(shí)數(shù)組里已經(jīng)有進(jìn)位后的值再疊加就亂套。正確做法是先用一個(gè)數(shù)組把原始乘積全部累加完最后統(tǒng)一做一輪進(jìn)位這也是高精度乘法的標(biāo)準(zhǔn)姿勢(shì)。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]。搞錯(cuò)下標(biāo)最典型的故障是結(jié)果恰好少了一位檢查時(shí)很難發(fā)現(xiàn)。乘法的時(shí)間復(fù)雜度 O(lenA × lenB)兩個(gè) 1000 節(jié)點(diǎn)的數(shù)相乘要執(zhí)行百萬次乘法C 語言在毫秒級(jí)完成課設(shè)驗(yàn)收完全沒問題如果要優(yōu)化可以用 Karatsuba但普通要求用不到。輸出函數(shù)是另一個(gè)重災(zāi)區(qū)。鏈表是低位在前輸出必須先從最高位節(jié)點(diǎn)開始。最高位節(jié)點(diǎn)直接輸出數(shù)值后面每個(gè)節(jié)點(diǎn)要用 %04d 格式補(bǔ)零到 4 位否則 10001 會(huì)變成 11。負(fù)數(shù)在輸出前打一個(gè) -然后走絕對(duì)值鏈表。5. 課設(shè)常見問題排查越界、爆棧、超時(shí)與對(duì)不上的報(bào)告5.1 哈夫曼n1 時(shí)直接崩編碼表逆序和越界現(xiàn)象輸入文本只有一個(gè)字符時(shí)程序崩潰或輸出亂碼編碼表生成后某些字符的編碼是反的譯碼結(jié)果錯(cuò)亂。原因單字符時(shí)哈夫曼樹只有一個(gè)根節(jié)點(diǎn)建樹循環(huán)不執(zhí)行后續(xù)譯碼訪問了未初始化的 ht[cur].lchild編碼生成時(shí)從葉子往根走得到的序列是倒序沒有反轉(zhuǎn)就存入編碼表。解決建樹前判斷 leafCnt 1 直接走單字符特例邏輯genCodes 里在拷貝之前把 tmp 反轉(zhuǎn)一遍。建議把編碼生成的倒序邏輯單獨(dú)抽成一個(gè)函數(shù)測(cè)試時(shí)用一個(gè)只有兩個(gè)字符的字符串驗(yàn)證編碼比如 aaab手動(dòng)推導(dǎo)一遍編碼再對(duì)照程序輸出。5.2 遞歸替換棧幀字段少壓一個(gè)結(jié)果就翻車現(xiàn)象快排非遞歸版本對(duì)小數(shù)組排序正確對(duì)大數(shù)組排序結(jié)果部分錯(cuò)誤或者程序能跑完但輸出沒有完全有序。原因遞歸改非遞歸時(shí)把遞歸函數(shù)的參數(shù)和局部變量的壓棧順序搞混了??炫诺拿總€(gè)棧幀只有 low 和 high但如果原遞歸函數(shù)里有中間的臨時(shí)變量比如劃分后的 pivot 位置非遞歸版本也必須把它存進(jìn)棧幀否則子區(qū)間范圍會(huì)算錯(cuò)。解決對(duì)遞歸函數(shù)做一次棧幀分析列出「入口參數(shù) 進(jìn)入函數(shù)后可能被修改且后續(xù)還要用的變量」這些全部放進(jìn)結(jié)構(gòu)體。壓棧順序和遞歸調(diào)用順序保持一致彈棧后再按對(duì)應(yīng)順序處理。驗(yàn)證方法是用遞歸版快排對(duì)拍隨機(jī)生成數(shù)組反復(fù)測(cè)不要只測(cè)教材上的示例數(shù)據(jù)。5.3 跳馬 BFS入隊(duì)即標(biāo)記出隊(duì)標(biāo)記會(huì)超時(shí)現(xiàn)象棋盤在 20×20 以內(nèi)正常擴(kuò)大到 100×100 時(shí)程序變卡甚至內(nèi)存不夠BFS 求出的步數(shù)偶爾還不對(duì)。原因在節(jié)點(diǎn)出隊(duì)時(shí)才標(biāo)記 visited同一個(gè)節(jié)點(diǎn)被多個(gè)方向同時(shí)擴(kuò)展到會(huì)被重復(fù)入隊(duì)多次隊(duì)列膨脹到指數(shù)級(jí)。教科書上寫的是「出隊(duì)時(shí)標(biāo)記」是某些特定寫法但在棋盤這種每個(gè)節(jié)點(diǎn)有 8 個(gè)鄰居的圖上必須「入隊(duì)時(shí)標(biāo)記」。解決在 dist[nx][ny] ! -1 判斷通過后立即給 dist[nx][ny] 賦值并入隊(duì)。這個(gè)判斷既是防重入也是距離賦值的前提。上課設(shè)驗(yàn)收時(shí)用 1000×1000 的棋盤從角上跑到對(duì)角如果跑到一半卡住先查標(biāo)記時(shí)機(jī)。5.4 長(zhǎng)整數(shù)乘法一邊乘一邊進(jìn)位會(huì)覆蓋結(jié)果現(xiàn)象萬進(jìn)制乘法結(jié)果比預(yù)期小很多或者中間某位出現(xiàn)負(fù)數(shù)偶爾結(jié)果還正確換一組數(shù)據(jù)就錯(cuò)。原因兩層循環(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ù)組要開到兩倍長(zhǎng)度。輸出時(shí)注意高位補(bǔ)零用 %04d 不是 %d。5.5 報(bào)告與代碼版本不一致課設(shè)驗(yàn)收的隱形扣分現(xiàn)象演示時(shí)運(yùn)行正常但交上去的實(shí)驗(yàn)報(bào)告里截圖的數(shù)據(jù)和最終代碼輸出對(duì)不上答辯時(shí)被問到測(cè)試數(shù)據(jù)答不上來。原因代碼改過多版報(bào)告里的測(cè)試結(jié)果還是早期版本沒同步更新。數(shù)據(jù)結(jié)構(gòu)實(shí)驗(yàn)報(bào)告最被看重的是測(cè)試數(shù)據(jù)的完整性和可復(fù)現(xiàn)性不是代碼貼圖越多越好。解決確定代碼最終版后固定一組輸入文件命名為 test1.in、test2.in把對(duì)應(yīng)的輸出文件test1.out、test2.out一起放到報(bào)告附件里。報(bào)告里每個(gè)模塊放「輸入、輸出、說明」三行對(duì)齊的表格測(cè)試數(shù)據(jù)包含普通情況、邊界情況空輸入、單字符、最大長(zhǎng)度、不可達(dá)路徑這些數(shù)據(jù)和現(xiàn)場(chǎng)演示保持一致。代碼每改一版就把全部測(cè)試重新跑一遍輸出存進(jìn)同一目錄覆蓋舊文件。6. 驗(yàn)收前最后一小時(shí)對(duì)拍、壓測(cè)與留痕6.1 用對(duì)拍腳本驗(yàn)證正確性對(duì)拍是競(jìng)賽選手驗(yàn)證程序的標(biāo)準(zhǔn)手段課設(shè)同樣適用。思路是寫一個(gè)你認(rèn)為絕對(duì)正確的參考程序再寫一個(gè)隨機(jī)數(shù)據(jù)生成器兩個(gè)程序吃同一份輸入逐條比較輸出。長(zhǎng)整數(shù)運(yùn)算用 Python 的 int 做參考最穩(wěn)哈夫曼和跳馬可以手寫一個(gè)暴力解做參考比如跳馬的參考程序用 DFS 在小棋盤上窮舉所有路徑步數(shù)逐個(gè)比較。#!/bin/bash # 對(duì)拍腳本隨機(jī)生成輸入比較兩個(gè)程序的輸出 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對(duì)拍能暴露的問題很多時(shí)候是「程序邏輯正確但輸入輸出格式不對(duì)」比如多了個(gè)空格或少了個(gè)換行。比起期末復(fù)習(xí)時(shí)背結(jié)論這個(gè)習(xí)慣能直接告訴你代碼哪里和預(yù)期不一致。隨機(jī)生成器要覆蓋邊界哈夫曼的輸入要包含只有一個(gè)字符的情況長(zhǎng)整數(shù)的輸入要包含負(fù)數(shù)、0、首位有前導(dǎo)零的數(shù)跳馬要生成起點(diǎn)等于終點(diǎn)的數(shù)據(jù)。6.2 邊界數(shù)據(jù)與壓力測(cè)試清單驗(yàn)收前按下面的表格過一遍每一項(xiàng)都記錄實(shí)際輸出寫進(jìn)報(bào)告里就是完整的測(cè)試小節(jié)。模塊邊界測(cè)試數(shù)據(jù)預(yù)期結(jié)果哈夫曼空文本 / 單字符文本 / 全部字符同頻空文本不崩單字符編碼為空串同頻字符樹高盡量均衡哈夫曼100 萬字符長(zhǎng)文本建樹和編碼總耗時(shí)在 1 秒內(nèi)內(nèi)存不超 10MB遞歸替換數(shù)組長(zhǎng)度 0 / 1 / 已有序 / 完全逆序不崩且排序結(jié)果正確跳馬起點(diǎn)終點(diǎn) / 不可達(dá)坐標(biāo) / 1000×1000 大棋盤起點(diǎn)終點(diǎn)相同返回 0不可達(dá)返回 -1大棋盤 1 秒內(nèi)出結(jié)果長(zhǎng)整數(shù)0 負(fù)數(shù) / 9999×9999 邊界進(jìn)位 / 4000 位最大長(zhǎng)度進(jìn)位正確輸出無前導(dǎo)零負(fù)數(shù)符號(hào)正確大數(shù)壓測(cè)時(shí)如果發(fā)現(xiàn)乘法超時(shí)先把 BASE 從 10000 降到 1000 試試能定位是進(jìn)位邏輯問題還是真的算法效率不夠。棋盤壓測(cè)的隊(duì)列數(shù)組要按最大棋盤尺寸預(yù)分配別用動(dòng)態(tài)增長(zhǎng)的小數(shù)組反復(fù) realloc性能會(huì)差很多。最后說點(diǎn)題外話。我當(dāng)年做跳馬問題時(shí)BFS 用的是出隊(duì)標(biāo)記自己測(cè) 10×10 怎么都對(duì)課設(shè)答辯現(xiàn)場(chǎng)老師把棋盤調(diào)成 100×100程序卡了十幾秒才出結(jié)果場(chǎng)面一度尷尬。后來養(yǎng)成習(xí)慣每個(gè)模塊寫完先寫一個(gè) 10 行左右的暴力參考程序?qū)ε囊惠喸倌脴O限數(shù)據(jù)壓一次性能。這套流程看著慢實(shí)際省下的調(diào)試時(shí)間遠(yuǎn)超預(yù)期。希望這些踩坑記錄能讓你把課設(shè)做到「敢現(xiàn)場(chǎng)演示」的程度。本文還有配套的精品資源點(diǎn)擊獲取
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
www综合久久| 成片免费观看大全| 婷婷五月丁香基地| 国产韩日亚洲美州欧亚综合在线 | 91久久久久久久| 成人五月天在线视频在线观看| 欧美日本免费一道免费视频| 欧洲不卡视频| 亚洲综合99| www久久久| 日日操夜夜擼| 婷婷综合一二三| 超碰在线免费| 丁香av网| 爱99干99| 丁香六月婷婷色播| 成人性爱无码| 成年人99热| 丁香五月天大香蕉啪啪| 久久婷婷五月天| 日日艹思思热| 五六月丁香激情视频| 色婷婷免费观看| 丁香婷婷狠狠97| 99久在线视频| 久99久热| 久久9热| 激情深爱婷婷网| 玖玖激情网| 操操碰| 国产精品国产| 色噜噜五月天| 婷婷涩五月| 激情五月天色婷婷综合| 五月婷婷激情69| 久久9精品| 久久婷婷五月综合色区| 中文字幕日本最新乱码视频| 五月天久久色| 久久婷婷五月综合网| 超碰狠狠操| 亚洲不卡| www,天天干| 激情人妻综合| 99色热| 天天日天天操心| 欧美综合五月丁香五月天| 婷婷亚洲五| 国产精品国产| 五月天激情综合网俺也去| 激情综合另类| www,超碰| 97操在线视频| 日日夜夜狠狠婷婷色| 丁香婷婷色色| 色五月成人婷婷| w婷婷五月婷婷w| 97碰在线免费观看| 亚洲成人在线免费| 99re这里只有精品国产99| 五月婷婷三级| 就要去操亚洲成人精品五月天丁香婷婷| 女人天堂久久| 天天爽爽日日做做| 内射激情在线| 99青青草| 色情五月天丁香社区| www.狠狠| 色婷婷婷婷| 9色视频在线| 五月丁香婷草| 操一区| 专区无日本视频高清8| 五月天激情小说网| 日韩久久日| 日本97在线观看| 99在线看视频| 婷婷精品| 五月天久久丁香| 丁香五月天在线| 激情五月天激情综合网| 亚洲综合色色| 9久热精品在线视频| 午夜在线成人网站免费观看| 九九这里是免费的视频5| 久久五月丁香婷婷| 蜜臀久久99精品久久久久久酒店| 综合久久五月| 99re热精品视频国| 久久久精品色| 99操视频| 操日本三片99| 一本道综合网| 亚洲国产成人在线| 婷婷中文综合网| 色站9/| 99在线视频播放| 91日韩在线| 丁香六月狠狠| 91色吧网| 97伦乱| 97操碰在线视频| 99re66热这里只有精品| 久久伊人五月天| 成人视频一区| 日本人人超碰| 久久精品爱爱| 久久多色| 五月丁香六月婷婷无码| 色婷婷五月天| 五月天堂色| 色色影院aaaav| 男女99免费视频| 色婷婷综合网站| 婷婷色五月丁香六月欧美啪| www.色婷婷| 婷婷五月激情综合啪啪| 天天艹天天色| 国产精品涩涩涩视频网站| 天天久久九九| 久久午夜理论| 九九成人视频| 五月婷婷狠狠干| 五月天色婷婷基地| 成AV人片一区二区三区久久| 色停停香蕉视频| 五月天婷婷永久免费视频| 丁香五月色五月| 久久性爱网| 成人一级片| 激情九九综合网| 思思热视频在线| 国产亚洲成人综合| 色婷婷丁香香香蕉视频| 99久久97| 岛国av电影网站| 久久狠狠干| 丁香综合久久| 久久 天天| 丁香五月影| 成片免费播放| 97资源碰碰| 婷婷不卡基地| 亚洲精品大片| 九9九9无码| 婷婷狠狠五月综合| 成人超碰网| 丁香五月婷婷啪啪| 婷婷五月色天| 丁香五月六月久久综合 | 日日操,日日爽| 爱射综合| 五月丁香亚洲校园欧美| 99久久网站| 99热爱爱干干日| 日本人人xxx| 久久大香蕉丁香| 九九热这里有精品视频| 婷婷五月丁香五月| 久噜久噜| 婷婷丁香色性爱| 亚洲五月天婷婷在线| 性色做爰片在线观看WW| 天天五月情| 激情小说色五月| 五月花婷婷最新| 色婷婷丁香五月| 久久五月天大美女| 久久99国产综合精品免费 | 激情五月丁香婷婷夜夜操| 五月丁香精品| 五月花婷婷在线精品视频| 97人凄人人操人人爽| 青青999| 五月天综合婷婷| 色播激情| 99av视频| 久久伦乱| 大学生高潮无套内谢视频| 18av天堂| 丁香五月天91| 色五月综合激情| 婷婷综合丁香| 91九色熟女| 噜噜五月天综合| 国产精品VA在线| 久久久久久久久久久97| 99热这里只有精品9| 激情5月舔| 五月天激情国产综合婷婷婷| 99色性爰网络| 久久五月婷婷电影| 免费在线观看av网站| 天天日本夜夜谢| 啪啪激情综合| 色综合77777| 亚洲精品婷婷| www.久久五月天.com| 婷婷伊人久久无码色五月| 五月丁香亚洲婷婷| 色之综合网| 色五月婷婷成人| 日韩色色视频| 婷婷久久五月天亚洲欧美国产日韩在线观看 | 久久婷婷丁香花综合网| 日韩啪啪视频| 操日挥操日日| 99综合视频一体| 亚洲亚洲人成综合网络| 91九色|疯狂|高潮|对白|| 天天曰夜夜爽| 综合超碰熟| 91九色首页| 另类激情网| 欧美日本黄色| 婷婷国产五月天17c| 五月婷在线观看| 五月亭亭六月激情| 亚洲1区| 丁香婷婷老司机久操| 婷丁香五月天| 看久久性爱视频| 99干视频| 伊人九九热| 欧美性生交XXXXX无码小说| 亚洲这里只有精品| 欧美婷婷色五月| 99久久婷婷| 伊人喵咪a V| 婷婷久久五月| 99啪| 超碰资源在线| 五月丁香婷婷AV| 五月婷婷久久激情 | 久久精品五月天| 国产精品久久久久久久久久久久| 五月婷婷色播| 欧美色97| 婷婷丁香色情| 久草热在线视频| 欧洲亚洲欧洲99久久| 中文字幕成人| 亚洲天堂热| 9色在线视频精品观看| 99热官网| 激情五月婷婷| AV中文在线| 91人操| 26uuu亚洲精品国产| 天天日天天添| 亚洲婷婷丁香五月在线| 久久只有精| 婷婷激情四射网| 91碰操| 美女久久婷婷| 亚洲av另类在线观看| 天天插天天插| 在线视频区| 亚洲精品99| 大香蕉婷婷| 99精品在线观看| 热思思| 狠狠五月天激情| 色综久久AV| 日本色频| 五月丁香六月婷婷亚洲激情综合| 五月天影院婷婷在线观看| 婷婷五月天在线看| 丁香五月婷婷动漫视频| 婷婷五月天性| 六月色播| 丁香五月日韩| 婷婷亚洲综合| 亚洲精品久久久无码| 五月丁香综合啪啪| 久久激丁香| 五月婷婷影视| 性做久久久久久久免费看| 97五月久久丁香婷婷| 99热费观看| 婷婷五月丁香综合激情| 色噜噜狠狠色综合成人网| 9l视频自拍9l视频自拍九色学生| 婷婷大香蕉| www.夜夜操.com| 天天玩夜夜操| 色婷婷性爱网| 97碰人人操| 久久久久亚洲AV无码网影音先锋| 99色区| 秋霞学生妹一二级| 婷婷五月天黄色小说| 天天色噜| 久久婷五月| 极品少妇XXXX精品少妇偷拍| 九九热内射| 久久九九囯产| 欧美久草在线日本一级特黄大片做受9在线观看韩国电影《两个女人》未删减-毛片 | 一区二区成人电影免费播放| 成人资源在线| 69五月天视频| www.五月天婷婷| 九热视频在线精品15| 久99热| 激情 婷婷| 丁香六月啪| 色青青电影色五月| 丁香六月婷婷久久综合| 五月天婷婷深深爱| 91婷婷丁香| 国产做爰视频免费播放| 超碰A V在线| 热久国产| 深情五月天| 操久久网| 麻豆123区| 久久综合性| 丁香花五月天| 色婷婷综合视频| 青青草视频免费观看| 99视频在线观看视频| 丁香九月久久| 日韩色色视频| 久久caop| 色色色色热热| 婷婷涩涩五月天| 国产67194| 在线观看欧美3区| 色婷婷av在线观看| 成人五月天丁香婷| 伊人影院久久网| 樱花99视频| 天天操比比| 天天弄天天操| 国产成人高清| 熟女激情五月天| 五月香婷婷| 九色在线观看91av| 丁香六月天堂| 久久久久亚洲AV综合| 天堂色婷婷| 五月天婷婷激情春色小说| 另类专区在线观看| 伊人婷婷五月天av| 丁香六月久| 思思久久99热只有频精品66| 国产色丁香| 婷婷久久精品| 99热国产婷婷| 四月丁香五月婷婷久久| 碰碰碰碰碰99| 婷婷色欧美激情| 色墦五月丁香| 女性自慰系列第五页| 成人网在线视频| site:pzdcoin.com| 成人av免费观看| www.第四色99| 99色最新在线视频网站| 天天肏天天舔AV| 美女要搞搞天天搞搞搞网站| 国产亚洲精品AAAAAAA片 | 色玖玖爱| 人妻AV在线观看| 五月综合婷婷五月| 无码A片一区二区免费| 婷婷五月天综合小说网| 潮汕成人AV片在线| 深爱婷婷网| 婷婷五月综合基地| 人人草人| 大香婷婷| 99在线资源| g00d人体西西| 超碰超碰在线| 亚洲精品网站色视频| 五月婷婷久久综合| 嫩草视频在线观看| 色婷婷69| 久久婷婷六月| 九九婷婷激情综合网| 99色热视频| 婷婷狠狠操| 久热这里只有精品性色AV| 99思思| 伊人丁香六月婷婷| 婷婷色五月色| 久久99网址| 九九这里是免费的视频5| 婷婷久久图片| 色久天| 丁香婷婷精品视频| 色色网站日本91| 99热这里只有精品最新网址| 激情性爱五月| 超碰人人在线| 亚洲精品午夜国产va久久成人| 欧美日韩精品一区二区三区钱| 五月婷婷激情久久| 五月久久婷婷| 五月天激情美女久久| 天天日日综合| 天天综合网、天天综合色| 亚洲色色色| 99热777| 高清国产一级婬片a免费| 激情五月天啪啪| 99爱视频精品在线观看| 丁香五月桃花在线激情综合| 午夜成人AV在线| 亚洲综合五月天婷婷丁香| www.伊人天堂偷偷婷婷| 狠狠色色色| 色婷婷香蕉丁丁网| 欧美久久婷婷| 中文字幕丰满乱孑伦无码专区| 婷香五月激情视频| 无码毛片992367| 亚洲天堂九九九| 99综合| 色婷婷先锋| 中文资源在线a| 嫩BBB搡BBBB榛BBBB| 久久怕怕视频| 伊人丁香花综合影院| 日本天堂免费99| 思思热视频在线观看| 99精品网站| 狠狠爱婷婷爱| 麻豆忘忧草午夜| 五月花激情| 亚洲综合网激情五月天| 神马久久五月天| 可以直接看的av| 97婷婷五月| 九九無碼| 欧洲S级在线观看| 日逼影音先锋男人AV资源站| 色色色无码| 色狠狠色综合久久久绯色AⅤ影视| 婷婷成人视频| 99精品在线观看视频| 噜噜噜色噜噜| 开心五月激情| 五月婷婷久久综合| 日本99视频精品免费播放| 四虎国产精品永久在线国在线| 99视频激情四射| 99色色最新视频| 九九激情综合| 九九99免费理论| 久久婷婷大香蕉| 97精品人人A片免费看| 操久久网| 久久久WWW| 婷婷六月情| 深爱婷婷色| 黄色99视频| 五月丁香色婷婷久久| 99热最新国内| 久久免费少妇高潮99精品| 激情五月天丁香| 亚洲五月花| 深爱丁香激情| 少妇婷婷五月天| 亚洲五月丁香综合网| 欧美色色色色色色色色色色| 久久视频婷婷| xx久久| 亚洲有码在线视频| 啪啪操超碰| 黄色99热| 99a级片| 激情五月天啪啪| 天天色噜| www.色综合.com| 六月丁香五月天| 丁香六月伊人| 婷婷婷久久久| 亚洲综合久| 9|无码久久久久久| 综合色播| 国产精产国品一二三在观看| 婷婷六月丁香激情综合| 密桃激情五月天综合网| 五月婷婷综合潮喷| 91婷婷五月天嫩女| 操97免费超级视频 | 女人天堂 AV| 婷婷五月图片小说网| 久久久久久综合五月婷婷| AV国产有码| 五月天色裸体视频| 狠狠色成人影片| 99丁香五月婷| 日本婷婷| 色色色九九九五月婷婷| 99ri视频在线观看| 色色激情五月天| 【乱子伦】黄色| 欧美性爱特黄一级aaaassss| 99热.com| 99热这里只有精品1| 97香蕉碰碰人妻国产欧美| 97色碰| 激情小说色五月| 一起操 91N.com| 全高清无码视頻| 五月丁香在线视频观看| 。久久久久久久久久久久久久人妻| 六月婷婷久久大全| 欧美色图天堂网| 亚洲操人| 91九色PORNY肉丝在线| 成人AV播放| 99精品丰满| 欧美日本国产| 久久女婷| 激情五月丁香六月| 99热在线观看免费精品| www.久久99精品| 丁香九月婷婷综合| 就爱射中文字幕资源网| 五月伊人网| 欧美电影在线观看| 激情久久肏屄视频| 五月草影视| 婷婷色在线| 人人妖人人97| 性爱动图国产麻豆一区二区三区| 五月激情六月宗合| 亚洲国产精品SUV| 欧美婷婷综合网| 婷婷的激情五月| 俺去也五月天婷婷| 五月丁香影院| 色色色干| 婷婷丁香人妻天天爽| 亚洲色色色| 亚洲另类AV| 六月丁香基地| 九九99免费视频| 伊人五月婷| 婷婷色影院| www99热| 另类视在线| 国产人妻人伦精品一区二区| 亚洲欧洲一二| 色五月婷婷大| 99热国产| 五月婷婷免费在线| www.五月婷婷.com| 久久久久久久久久久44| 五月久久丁香| 无码 av电影| 亚洲激情综合| 色婷五月| www.五月天色色.com| 五月精品免费XXX| 26uuu成人网| 伊人玖玖精品| 五月丁香婷婷婷激情爱爱| 天天久综合网永久入口18| 婷婷五月激情的图片| www.久久爱.com| 991自拍视频| 丁香五月婷婷精品视频| 成人精品视频99在线观看免费| 久9热视频在线观看| 五月激情婷婷丁香| 欧美碰碰碰| 欧美激情五月| 999热这里只有美国精品| 激情六月五月婷婷综合网| www.国产色| 日韩av在线电影| www婷婷| 91丨九色熟女丨首页| 婷婷丁香综合| 伊人久热91网| 96丁香六月婷婷蜜桃综合久久| 五月婷婷丁香综合,亚洲天堂| www.人人操人人看人人想人人摸 人人人人操,COM| 91综合在线| 久久9久| 色色色欧美| 大香蕉啪啪网| www.91色| 很很干五月天| 亚洲成人AV一区在线观看| 五月婷婷五月天亚洲无码| 91精品国产综合久久久不卡电影| www.热99热| 日韩一级| 女人天堂AV| 五月婷网| 99日本精品视频热| 超碰成人在线观看| 九九热视频在线观看| 五月天色婷伊人| 粉嫩AV久久一区二区三区| 深爱激情小说五月婷婷| 91久女| 国产色色视频| 成人片在线播放| 婷婷五月天基地| 丁香亚洲婷婷五月| 色色网91| 色婷婷久久| 日日夜夜狠狠婷婷色| 成人精品视频99在线观看免费| 深爱开心激情网| 色婷婷激情视频| 超碰99资源站| 精品人妻伦| 播四月婷婷六月丁香| 亚洲啪啪网| 亚洲va综合va国产va中文| 亚洲综合色丁香五月天| 色吧婷婷五月亚洲| 98永久精品| 天天日夜夜B久久| 97碰碰叉| 99在线精品免费视频| 五月丁香啪啪啪啪| 色五月天丁香婷婷| 五月网站| 91九色国产| 五月综合在线婷婷图片| 色九九七七| 白人荫道BBWBBB大荫道| 婷婷色在线播放| 五月丁香天天| 91成人看片| 日本少妇裸体做爰高潮片 | 久久综合性| 婷婷丁香五月天小说| 天天操五月天| 成人免费黄色短视频| 激情图片婷婷| 色99欧洲色19| 噜综合| 婷婷丁香婷婷97| 久青草影院| 婷婷亚洲五月| 久久艹 五月天| 久久五月网| 99色 色| 九九国产视频| 丁香五月婷婷av| 丁香花社区av| 在线视频另类| 九九热视频免费观看| 色综合激情| 久久婷婷六月综合综合| 天天色综网| 俺去也综合| 91凹凸在线| 丁香婷婷色情社区成人小说| 激情五月综合ì香亚洲| 国产日批视频免费播放| 欧美三级欧美一级| 狠狠99| 九九久99免费视频| 狠狠干最新地址| 久久久人妻| 亚洲精品99| 婷婷五月色情天| 五月丁香六月婷| 欧州色色| 色婷婷社区| 26uuu91| 婷婷五月天直播| 欧美操人| 99啪在线| 热久69| 色播色丁香五月| 婷婷五月丁香青青草在线| 国产小精品| 午夜丁香| 少妇性按摩无码中文A片| 日日夜夜婷婷| 天天插天天日| 大香蕉久操| 五月天色色色| 中文字幕丰满孑伦无码专区| 无码日本精品XXXXXXXXX | 久久久激情| 日本久久精品| 日本熟妇乱妇熟色A片蜜桃| 五月天婷婷色| 亚洲色就是色色色| 97操碰在线97| 久操乱| 丁香综合| 精品久久穴| 琪琪色网在线| 国产黄色大片| 国产肏屄大片| 色婷五月| 五月天开心婷婷久久| 天天撸夜夜爽| 精品国产va久久久| 日韩狠狠色| 激情亚洲网| 思思99热| 级人人91| 在线观看免费狠狠色丁香香综合| 久久婷婷综合网| 久久免费精品小视频| 五月总合激情网| 五月丁香六月激情综合啪啪| 99热只有这里才是精品| 久狠日av| 欧美色宗和激情| 久久久五月天| 精品五月花| 欧美超级视频97| 噜噜狠狠| 久久精品亚洲热| 午夜成人综合| 少妇高潮呻吟A片免费看软件| 久久涩视频| 182TV亚洲| 色五月xxx| 99色最新在线视频网站| 婷婷四色五月| 色99热| 狠狠香蕉| 2050人人操免费工开爱| 五月天激情四射网站| 丁香五月图片| 五月性色| 久色| www.综合久久| 色五月av伊人| 99热精品观看| 玖玖爱伊人网| 激情综合色| 婷婷五月天激情丁香| 欧美日综合| 99视频在线9| 天天肏夜夜肏| 狠狠干夜夜干| .精品久久久麻豆国产精品| 九九九午夜视频| 五月www| 色5月婷婷色| 99视频热99| 五月丁香婷婷爱激情综合网| 婷婷深爱五月| 久久久中文| 9 9热这里有精品| 国产夫妻操逼内射视频| 97久久精品| 九月丁香婷婷网| 色五月涩涩婷婷蜜桃| 丁香五月天婷婷中文字幕| 高潮毛片又色又爽免费| 五月婷婷综合激情| 欧美在线视频免费播放| 婷婷五月综合丁香久久| 婷婷国产日本欧美| 中文字幕在线日亚州9| 99热观看| 久久人妻高清中文| 午夜天堂一区人妻| 91丁香| www.成人婷婷综合| 日本乱子人伦在线视频| 日韩a热| 激情综合五月丁香| 成人在线综合| 亚洲男女激情| 五月婷丁香久久综合| 另类小说五月天激情| 九九热精品在线| 久久五月丁香婷婷| 亚洲成人av在线| 亚洲成Av人片乱码色第1集| 五月色丁香激情| 青青久在线视频免费观看| 六月丁香啪| 婷婷色五月天在线观看| AV在线中文| 超碰色色综合| 九九精品综合| 中文字幕婷婷| 亚洲精品无码久久| 久操婷婷| 日韩不卡DvD| 久久久久激情| 五月天色图| 人妻AV在线| 97色婷婷| 天天操夜夜操| 狠狠va| 26uuu另类亚洲欧美日本一| 99色综合| 久久婷出差欧美色两性综合网| www超碰| 亚洲综合网激情小说| 欧美顶级少妇做爰HD| 五月婷成人网| 99九九这里有免费视频| www天天爽| 六月色婷婷综合影视| 婷婷五月色激情欧美激情| 踪合专区啪啪| 久久99网站| 激情五月天久久丁香| 婷婷综合五月| 久久99这里只有精品视频 | 婷婷五月天伦理| 国产日产亚洲系列最新| 久久国产精品乱子伦_靑青草…| 欧美经典片免费观看大全| 日韩av大全| 国产AV成人精品| 天天干,夜夜爽| 超碰成人免费| 双性美人被调教到喷水A片| 五月丁香激情婷婷综合| 99热99在线精品| 啊V视频在线观看| 九九热这里有精品23| 丁香五月婷婷av影院| 亚洲色视频| 亚洲综合色婷婷| AA片在线观看视频在线播放| 五月天婷婷在线AN| 国产激情AV| 欧美性做爰大片免费看办公室 | 性欧美日本| 乱岳熟女50岁| 天天久| 久久免费精品小视频| 国产精产国品一二三在观看| 婷婷五月六月丁香| 99开心五月五月丁香激情| 天天干天天日蜜臀av| 丝袜激情网| 操一区| 五月丁香六月婷婷无码| 9999久久久久| 五月天婷婷激情六月久久 | 日日做A爰片久久毛片A片英语| 天天色宗合| 丁香五月天激情婷婷丁香六月 | 日本在线观看aaa 99| 91超级碰碰| 99爱精品视频| 婷婷久久欧美| 日本视频欧美观看免费| 激情五月综合网| 丁香五月偷拍| 亭亭色天香| 久久性操| 被强行糟蹋的女人A片| 五月婷视频| 丁香婷婷免费| 色婷婷久久综合久色综| 久操香蕉| 五月天开心网| 九九re精品视频在线观看| 六月婷婷影院| 综合亚洲色色| 97超碰在线免费观看| 丁香五月婷婷综合啪啪| 天天综合色| 不卡影院午夜理论片| 99re在线视频精品,这里只有精品18,| 婷婷丁香婷婷97| 午夜精品人妻无码一区二区三区| 亚洲第一黄网| 色色色热热热| 99er视频在线| 我爱宗和色| 夜夜夜天天操| 婷婷在线综合| 九九九九九九毛片| 国产一级黄色影片,| 这里只有精品视频在线| 色婷婷五月在线| 六月丁香综合| 超碰人人91| 狠狠摸狠狠摸| 91色情播放| 欧美性色五月天| 91久久久久久久久| 超碰93在线观看| 香蕉中文在线| 婷婷干六月综合旧址| 久婷狼色诱惑在线| 丁香婷婷欧美综合| 99久久精品免费精品国产_国产精品久久久久久_国产在线|日韩_久久国产精品电影 | 久99在线视频| WWW·色色色·COM| 婷婷丁香五月天熟女丝袜| www.玖玖九| 超91热| 色五月色综合| 99碰碰。| 丁香婷婷久久五月天| 六月丁花香啪啪激情欧美| 亚洲字幕AV一区二区三区四区 | 97干在线免费| 五月丁香综合网| 97婷婷久久丁香| 久久九九一區| www.无码com| 不卡成人免费| 人妻六月天| 色九九丁香九月色九九色| 日韩AV中文字幕在线| 狠狠色九月| 五月婷久久草| 激情另类综合| 91蜜桃婷婷狠狠久久综合9色| 日韩操人| 九九热视频99| 九九人人操| 五月婷婷六月丁| 亚洲精品五十一区| 99热99免费| 伊人久久五月天综合| 综合婷婷都市激情| 中美日韩成人在线| www.henhenl| 99re热视频这里只精品| 丰满老熟妇BBBBB搡BBB| 91色综合网站在线| 99玖玖人人| 91偷拍视频| 少妇日麻屄| 夜夜爽天天日| 开心五月婷婷婷美女| 婷婷激情视频| 99精品在线| 丁香五月婷婷av影院| 91操屁股| 欧美在线视频99| 婷婷开心综合人妻小说网址| 五月亚洲| 国内外色色色色色成人视频| 亚洲色综合| 成人做爰A片免费看视频| 97婷婷五月丁香| 丁香五月欧美成人| 六月婷婷日| 亭亭五月丁香五月天激情| 色情婷婷五月天| www.五月.com| av免费在线观看0| 婷婷丁香花五月天| 激情WWW| 五月婷激情影院| 色婷婷狠狠| 超级碰 久久9| 婷婷色女| 思思久久精品| 国产成人av在线播放| 中文中文在线| 狠狠色丁香婷婷久久综合| 婷婷五月天国产手机在线视频观看| 精品久久66| 六月激情综合| 亚洲AV无码影院| 丁香婷婷五月天色综合| 婷婷五月天色播| 青青青在线视频国产| 中文字幕五月久久婷婷| 亚洲精品乱码久久久久99| 天天干天天干天天干天天干天天干| 中文AV网| 亚州第一黄网| 丁香五月婷婷无码AV| 天天插,天天射| 狠狠五月天| 91porn一起草| 99国产这里只有精品| 婷婷91| 九九热99免费视频| 激情五月天啪啪视频| 色综合色色| 鲁鲁色五月| 婷婷成人综合| 99精品无码| 7777国产盗摄农村女人| 激情综合自拍五月婷婷色五月| 天天操天天谢| 丁香五月久久| 精品99在线| 五月天激情小说欧美激情| 亚洲字幕AV一区二区三区四区| 亚洲最大在线| 五月天成人综合| 国产真人做爰视频免费| 亚洲色五月| 色婷婷激情| 五月天婷婷色情| 99er6热在线观看精品6| 婷婷激情社区| 91视频一起草| 丁香激情五月天| 男人的天堂在线婷婷| 丁香五月激情综合网激情五月| 久久机热/这里只有精品| 久久久久婷 | 超碰99久久| 久久婷婷六月综合综合| 欧美色色色色色色色色| 97韩国久久电影院| 丁香五月天天久久综合小说| 日本狠狠爽| 五月婷婷无码| 人妻视频在线| 丁香五月色五月| 久9精品| 天天在线XXX| 婷婷五月丁香香蕉| 五月婷婷视频| 九久久精品视频99| 看全色黄大色大片| 1024婷婷综合久久五月天| 国产精品色| 国产午夜精品一区二区| 天天插天天射| 亚洲天99| 丁香五月婷婷啪啪啪| www.五月婷婷| 亚洲激情婷婷| 天天肏屄夜夜爽| 五月丁香色婷婷| 伊人综合网4| 久久综合五月天| 激情婷婷色小说| 成 人片 黄 色 大 片| 日日操,日日爽| 婷婷欠久少妇| 影音先锋777xfplay色资源网站| 亚洲视频另类| α久久| av五月丁香婷婷网| 日本色色网站| 六月丁香啪啪| 99国产精品久久久久久久久久久| 五月丁香天堂网婷婷| 日本三级日本三级99| 啪啪婷婷五月天激情| 色婷婷小视频| 9l视频自拍九色9l视频在线观看| 97碰在线| 噼里啪啦在线观看免费完整版视频| 欧美五月丁香在线| 牛色色碰| 婷婷深爱五月天| 丁香五月综合婷婷| 国产99久久久国产精品免费看| 九九视频热| 久久久五月天婷婷成人网| 在线天堂9| 琪琪理论片| 亚洲一区二区色图-亚洲精品国产精品乱码-成人AV | 亚洲爱婷婷| 婷婷金品综合视频| 色色色国产| 五月激情啪啪| 97超喷视频在线观看| 五月天天天色| 五月的色婷婷高潮| 做爱夜夜干天天操| 久久99jiu9| 欧美日韩成人| 成人丁香| 色婷婷六月综合| 婷婷五月天激情综合| JlZZJlZZ8JlZZ亚洲熟女| 国产激情视频在线观看| 丁香五月在线看| 激情丁香婷婷六月天| 五月天堂色色| 五月丁香婷婷成人网| 99自拍视频网站| 国产噜一噜天天噜| 操逼综合网| 开心五月天激情网| 色五月播五月| 欧美婷婷五月无砖| 狠狠色噜噜狠狠| 日本精品人妻无码77777| 影音先锋91| 91人妻九色大屁股| 综合另类视频| 超碰人人摸人人操| 天天做天天爰天天爽天天无遮挡| HD久久精品视频| 色婷婷丁香五月天| 五月天婷婷色| 99视频精品全部免费观看| 天天久综合网永久入口17v| 丁香五月婷婷综合啪啪| 丁香婷婷基地| 毛片毛片毛片毛片| 99re这里只有精品国产99| 五月丁香人妻| 色婷婷综合久久| XX色综合| 色婷婷日本| 99热99干| 天天摸天天爽| 97操男人的天堂| 国产精品久久久久久久久久| 色婷婷A| 色99网| 婷婷五月天亚洲精品| 国产VA播放| 久久这里只有精品视频15| 大香蕉啪啪网| 综合网色| 久婷婷色| www.婷婷五月| 26uuu欧美激情另类| 五月色婷婷影视在线电影| 97干97色| 日韩精品超碰在线观看| 亚洲久艹| www.夜夜| 五月丁香激情综合| 九九九热精品| 九九精品亚洲| 五月天天久久香| 噜噜五月天综合| 天天成人丁香美女AV| 激情伍月 欧美| 99热日韩这里只有精品| 人人爱操| 综合久久婷婷| 婷婷性爱影院| 欧美日本黄色| 极品色丁香| 婷婷六月天天| 亚洲婷婷丁香| 操操天堂| 日本3级片偷拍网站| 日韩成人电影Av| 五月天久草| 91人人妻人人操| 久xxxx| 六月婷欧美| 婷婷综合色图| 五月婷婷色色色| 久久久久婷婷| 五月天激情小说婷婷| 丁香无五月网| 六月丁香婷婷色综合| 欧美韩日AAA网站| 丁香五月婷婷成人网| 99热日韩| 九九热精品视频| 日日日日操| 激情五月天综合| 91无码高清| 91九色国产| 五月婷视频| 色五月综合在线| 999热这里只有精品| www.夜夜操| 四川女人毛多水多A片| 丁香六月婷婷综合| 亚洲成人无码专区| 91N 一起草| 伊人色综合久久久| 狠狠爱综合| 婷婷成人在线| 国产另类综合| 丁香五月天堂网| 在线播放中文字幕| 亭亭五月色男人| 国产99久久久国产精品免费看| 夜夜干天天操| 九九激情| 日韩999| 色婷婷色情| 综合久久久| 国产人妻人伦精品一区二区| 九九热青青草| 激情五月天久久丁香| 五月激情网络| 婷婷久久网| 五月婷婷欧洲| 五月丁香六月婷综合成人综合| 开心五月婷婷在线视频免费观看| 亭亭玉月丁香| BBWCUCKOLD精品熟妇| 大香AV| 丁香五月日本| 欧美三级欧美一级| 超碰cap| 97亚洲色 torrent magnet| 五月激情综合美女久久| 久操热| 久久在线大香蕉| 操逼123网| 丁香六月婷婷色XXXXX| 97操男人的天堂| 色噜噜,噜噜色| 亚洲av综合网| 婷婷五月在线| 色婷婷4| 亚洲激情综合网| 色玖玖网| 色婷婷成人影片| 99热99在线| 伊人久久大香天蕉亚洲特级| 婷婷六月天精品| 久久一热| 97欧美在线| 天天爽免费视频| www.色五月| 婷婷丁香六月综合激情站| 色色色网站| 超碰成人影视| 婷婷精品在线| 天天干天天拍| 五月丁香无码| 人人色婷婷| 丁香婷婷影院| 九九九成人在线视频| 五月丁香色婷婷| 超碰在线免费| 色九九九九| 日本三级片片| 欧美久久婷婷| 99在线精品免费视频| 激情视频婷婷五月花| 国产成人av在线播放| 久久亚洲无码| 天天干天天操天天爽| 玖玖@三月天天丁香婷婷| 五月丁香AV、伊人业余、性色熟妇| 99这里只有精| 婷婷丁香在线| 婷婷伊人网| 97干欧美| 99re免费精品视频| 久久久久亚洲AV无码网影音先锋| 开心激情婷婷| 碰人人操| 天天综合色| 久婷婷色| 久久综合影院| 国产av基地| 91AV婷婷| 婷婷五月天堂| 91美女被操| 激情五月丁香五月| 五月婷av| 欧美成人Va| 婷色五月| 五月婷高清视频| 亚洲国产精品二二三三区| 五月婷婷熟女| 综合久久婷婷99| 丁香涩涩爱| 玖玖精品婷婷|