{"id":586,"date":"2025-11-27T04:44:47","date_gmt":"2025-11-27T04:44:47","guid":{"rendered":"https:\/\/learndeeplytw.com\/?p=586"},"modified":"2025-11-28T07:46:47","modified_gmt":"2025-11-28T07:46:47","slug":"textcompression","status":"publish","type":"post","link":"https:\/\/learndeeplytw.com\/zh_tw\/textcompression\/","title":{"rendered":"\u6559\u6703\u5b69\u5b50\u300c\u5077\u61f6\u300d\u7684\u85dd\u8853 \u2014 \u7528\u756b\u6846\u6846\u5b78\u6703\u6587\u5b57\u58d3\u7e2e\uff08Text Compression\uff09"},"content":{"rendered":"\n<p class=\"\">\u5982\u679c\u4f60\u8981\u7f70\u5beb\u300c\u6211\u4ee5\u5f8c\u4e0a\u8ab2\u4e0d\u8b1b\u8a71\u300d\u4e00\u767e\u904d\uff0c\u4f60\u6703\u4e0d\u6703\u89ba\u5f97\u624b\u5f88\u75e0\uff1f\u4f60\u6703\u4e0d\u6703\u5e0c\u671b\u6709\u4e00\u500b\u9b54\u6cd5\uff0c\u53ea\u8981\u5beb\u4e00\u6b21\uff0c\u5269\u4e0b\u7684\u7528\u7bad\u982d\u6307\u4e00\u4e0b\u5c31\u597d\uff1f<\/p>\n\n\n\n<p class=\"\">\u606d\u559c\u4f60\uff0c\u4f60\u7684\u60f3\u6cd5\u8ddf\u96fb\u8166\u79d1\u5b78\u5bb6\u4e00\u6a21\u4e00\u6a23\uff01<\/p>\n\n\n\n<p class=\"\">\u96fb\u8166\u7684\u786c\u789f\u7a7a\u9593\u6709\u9650\uff0c\u7db2\u8def\u50b3\u8f38\u4e5f\u9700\u8981\u6642\u9593\u3002\u70ba\u4e86\u300c\u7701\u7a7a\u9593\u300d\u548c\u300c\u7701\u6642\u9593\u300d\uff0c\u96fb\u8166\u767c\u660e\u4e86\u4e00\u7a2e\u628a\u6587\u5b57\u8b8a\u77ed\u7684\u9b54\u6cd5\uff0c\u6211\u5011\u7a31\u70ba\u300c\u58d3\u7e2e\uff08Compression\uff09\u300d\u3002\u4eca\u5929\u6211\u5011\u4e0d\u7528\u96fb\u8166\uff0c\u53ea\u7528\u7d19\u7b46\uff0c\u4f86\u7834\u89e3\u9019\u500b\u9b54\u6cd5\u3002<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u7b2c\u4e00\u968e\u6bb5\uff1a\u767c\u73fe\u75db\u9ede (The Need for Speed)<\/h3>\n\n\n\n<div class=\"wp-block-media-text is-stacked-on-mobile\" style=\"grid-template-columns:42% auto\"><figure class=\"wp-block-media-text__media\"><img loading=\"lazy\" decoding=\"async\" width=\"746\" height=\"892\" loading=\"lazy\" src=\"https:\/\/learndeeplytw.com\/wp-content\/uploads\/2025\/11\/\u622a\u5716-2025-11-27-\u4e0a\u534810.36.33.png\" alt=\"\" class=\"wp-image-587 size-full\" srcset=\"https:\/\/learndeeplytw.com\/wp-content\/uploads\/2025\/11\/\u622a\u5716-2025-11-27-\u4e0a\u534810.36.33.png 746w, https:\/\/learndeeplytw.com\/wp-content\/uploads\/2025\/11\/\u622a\u5716-2025-11-27-\u4e0a\u534810.36.33-251x300.png 251w, https:\/\/learndeeplytw.com\/wp-content\/uploads\/2025\/11\/\u622a\u5716-2025-11-27-\u4e0a\u534810.36.33-10x12.png 10w\" sizes=\"auto, (max-width: 746px) 100vw, 746px\" \/><\/figure><div class=\"wp-block-media-text__content\">\n<ul class=\"wp-block-list\">\n<li class=\"\"><strong>\u807d\u5beb\u6311\u6230<\/strong>\uff1a\u6e96\u5099\u4e00\u9996\u91cd\u8907\u6027\u5f88\u9ad8\u7684\u5152\u6b4c\uff08\u4f8b\u5982\u4e2d\u7684\u300aThe Rain\u300b\u6216\u300aBaby Shark\u300b\uff09\u3002<\/li>\n\n\n\n<li class=\"\"><strong>\u8001\u5e2b<\/strong>\uff1a\u300c\u6211\u73fe\u5728\u8981\u5538\u4e00\u9996\u8a69\uff0c\u8acb\u4f60\u628a\u6bcf\u4e00\u500b\u5b57\u90fd\u5beb\u4e0b\u4f86\uff0c\u6bd4\u6bd4\u770b\u8ab0\u5beb\u5f97\u5feb\u3002\u300d<\/li>\n\n\n\n<li class=\"\"><strong>\u5ff5\u7a3f<\/strong>\uff1a\u523b\u610f\u5538\u5feb\u4e00\u9ede\u3002\u300cPitter patter, pitter patter, listen to the rain&#8230;\u300d<\/li>\n\n\n\n<li class=\"\"><strong>\u89c0\u5bdf<\/strong>\uff1a\u5b69\u5b50\u6703\u62b1\u6028\u4f86\u4e0d\u53ca\u5beb\uff0c\u6216\u8005\u624b\u5f88\u75e0\u3002<\/li>\n<\/ul>\n<\/div><\/div>\n\n\n\n<p class=\"\"><strong>\u5efa\u69cb\u5f0f\u63d0\u554f\uff1a<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li class=\"\"><strong>\u8001\u5e2b<\/strong>\uff1a\u300c\u9019\u9996\u8a69\u6709\u6c92\u6709\u8b93\u4f60\u89ba\u5f97\u5f88\u7279\u5225\u7684\u5730\u65b9\uff1f\u300d<\/li>\n\n\n\n<li class=\"\"><strong>\u5b69\u5b50<\/strong>\uff1a\u300c\u6709\uff01\u4e00\u76f4\u91cd\u8907 Pitter patter\uff01\u300d<\/li>\n\n\n\n<li class=\"\"><strong>\u8001\u5e2b<\/strong>\uff1a\u300c\u5982\u679c\u4f60\u662f\u500b\u8d85\u7d1a\u8070\u660e\u7684\u6284\u5beb\u54e1\uff0c\u4f60\u6709\u6c92\u6709\u8fa6\u6cd5\u5c11\u5beb\u5e7e\u500b\u5b57\uff0c\u4f46\u9084\u662f\u8b93\u5225\u4eba\u770b\u5f97\u61c2\u9019\u9996\u8a69\uff1f\u300d<\/li>\n\n\n\n<li class=\"\"><em>(\u8046\u807d\u5b69\u5b50\u7684\u5275\u610f\uff1a\u4ed6\u5011\u53ef\u80fd\u6703\u5beb &#8221; x 2 &#8220;\uff0c\u6216\u662f\u756b\u7bad\u982d)<\/em><\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">\u7b2c\u4e8c\u968e\u6bb5\uff1a\u767c\u660e\u7b26\u865f (The &#8220;Box and Pointer&#8221; Method)<\/h3>\n\n\n\n<p class=\"\">\u73fe\u5728\u5f15\u5165\u300c\u6846\u6846\u8207\u7bad\u982d\u300d\u6982\u5ff5\uff0c\u4f46\u8981\u628a\u5b83\u63cf\u8ff0\u6210\u4e00\u7a2e\u300c\u7701\u529b\u5de5\u5177\u300d\u3002<\/p>\n\n\n\n<p class=\"\"><strong>1. \u793a\u7bc4\uff1a<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li class=\"\"><strong>\u8001\u5e2b<\/strong>\uff1a\u300c\u4f60\u7684\u7bad\u982d\u756b\u5f97\u5f88\u68d2\uff01\u96fb\u8166\u4e5f\u7528\u985e\u4f3c\u7684\u65b9\u6cd5\u3002\u7576\u5b83\u770b\u5230\u524d\u9762\u5df2\u7d93\u51fa\u73fe\u904e\u7684\u5b57\uff0c\u5b83\u5c31\u6703\u756b\u4e00\u500b\u6846\u6846\u628a\u5b83\u300e\u6846\u8d77\u4f86\u300f\uff0c\u7136\u5f8c\u5728\u4e0b\u4e00\u6b21\u8981\u5beb\u7684\u6642\u5019\uff0c\u7528\u4e00\u500b\u7bad\u982d\u6307\u56de\u53bb\u8aaa\uff1a\u300e\u563f\uff0c\u8ddf\u90a3\u88e1\u4e00\u6a23\uff01\u300f\u300d<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"670\" height=\"376\" loading=\"lazy\" src=\"https:\/\/learndeeplytw.com\/wp-content\/uploads\/2025\/11\/image-16.png\" alt=\"\" class=\"wp-image-591\" style=\"width:533px;height:auto\" srcset=\"https:\/\/learndeeplytw.com\/wp-content\/uploads\/2025\/11\/image-16.png 670w, https:\/\/learndeeplytw.com\/wp-content\/uploads\/2025\/11\/image-16-300x168.png 300w, https:\/\/learndeeplytw.com\/wp-content\/uploads\/2025\/11\/image-16-18x10.png 18w\" sizes=\"auto, (max-width: 670px) 100vw, 670px\" \/><\/figure>\n\n\n\n<p class=\"\"><strong>2. \u5be6\u4f5c\u7df4\u7fd2\uff1a<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li class=\"\"><strong>\u8001\u5e2b<\/strong>\uff1a\u300c\u770b\u9019\u5f35\u5716\uff0c\u6709\u4e9b\u5b57\u4e0d\u898b\u4e86\uff0c\u53ea\u5269\u4e0b\u6307\u8def\u6a19\uff08\u7bad\u982d\uff09\u3002\u8acb\u4f60\u7576\u89e3\u78bc\u54e1\uff0c\u9806\u8457\u7bad\u982d\u56de\u53bb\u627e\uff0c\u628a\u539f\u672c\u7684\u5b57\u586b\u56de\u4f86\u3002\u300d<\/li>\n\n\n\n<li class=\"\"><strong>\u89c0\u5bdf\u91cd\u9ede<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li class=\"\">\u5b69\u5b50\u662f\u5426\u6709\u767c\u73fe\u7bad\u982d\u662f\u6307\u5411\u300c\u5e7e\u500b\u5b57\u300d\uff1f<\/li>\n\n\n\n<li class=\"\">\u5b69\u5b50\u662f\u5426\u6709\u767c\u73fe\u7bad\u982d\u7684\u8d77\u9ede\u548c\u7d42\u9ede\u4ee3\u8868\u4ec0\u9ebc\uff1f<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1012\" height=\"776\" loading=\"lazy\" src=\"https:\/\/learndeeplytw.com\/wp-content\/uploads\/2025\/11\/image-17.png\" alt=\"\" class=\"wp-image-593\" srcset=\"https:\/\/learndeeplytw.com\/wp-content\/uploads\/2025\/11\/image-17.png 1012w, https:\/\/learndeeplytw.com\/wp-content\/uploads\/2025\/11\/image-17-300x230.png 300w, https:\/\/learndeeplytw.com\/wp-content\/uploads\/2025\/11\/image-17-768x589.png 768w, https:\/\/learndeeplytw.com\/wp-content\/uploads\/2025\/11\/image-17-16x12.png 16w\" sizes=\"auto, (max-width: 1012px) 100vw, 1012px\" \/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">\u7b2c\u4e09\u968e\u6bb5\uff1a\u6311\u6230\u6975\u9650 (The &#8220;Banana&#8221; Problem)<\/h3>\n\n\n\n<figure class=\"wp-block-image size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"706\" height=\"200\" loading=\"lazy\" src=\"https:\/\/learndeeplytw.com\/wp-content\/uploads\/2025\/11\/image-19.png\" alt=\"\" class=\"wp-image-597\" style=\"width:523px;height:auto\" srcset=\"https:\/\/learndeeplytw.com\/wp-content\/uploads\/2025\/11\/image-19.png 706w, https:\/\/learndeeplytw.com\/wp-content\/uploads\/2025\/11\/image-19-300x85.png 300w, https:\/\/learndeeplytw.com\/wp-content\/uploads\/2025\/11\/image-19-18x5.png 18w\" sizes=\"auto, (max-width: 706px) 100vw, 706px\" \/><\/figure>\n\n\n\n<p class=\"\">\u9019\u500b&nbsp;Ban(2,3)&nbsp;\u8b8a\u6210&nbsp;Banana&nbsp;\u7684\u4f8b\u5b50\uff0c\u662f\u6574\u500b\u6587\u5b57\u58d3\u7e2e\u6d3b\u52d5\u4e2d<strong>\u6700\u71d2\u8166<\/strong>\u3001\u4f46\u4e5f<strong>\u6700\u7cbe\u83ef<\/strong>\u7684\u90e8\u5206\u3002<\/p>\n\n\n\n<p class=\"\">\u9019\u5728\u96fb\u8166\u79d1\u5b78\u4e2d\u7a31\u70ba\u300cLZ77 \u6f14\u7b97\u6cd5\u7684\u81ea\u6211\u6307\u6d89\uff08Self-reference\uff09\u300d\u3002<\/p>\n\n\n\n<p class=\"\">\u5c0d\u5b69\u5b50\uff08\u751a\u81f3\u5927\u4eba\uff09\u4f86\u8aaa\uff0c\u9019\u88e1\u7684\u908f\u8f2f\u969c\u7919\u5728\u65bc\uff1a<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"\">\u300c\u96fb\u8166\u53eb\u6211\u5f80\u56de\u6578 2 \u500b\u5b57\uff0c\u7136\u5f8c\u8907\u88fd 3 \u500b\u5b57\u3002\u53ef\u662f\u5f80\u56de\u6578\u53ea\u6709&nbsp;a&nbsp;\u548c&nbsp;n&nbsp;\u9019&nbsp;<strong>2<\/strong>&nbsp;\u500b\u5b57\u554a\uff1f\u7b2c&nbsp;<strong>3<\/strong>&nbsp;\u500b\u5b57\u6839\u672c\u9084\u6c92\u5beb\u51fa\u4f86\uff0c\u6211\u8981\u600e\u9ebc\u8907\u88fd\uff1f\u300d<\/p>\n<\/blockquote>\n\n\n\n<p class=\"\">\u70ba\u4e86\u5e6b\u52a9\u60a8\u7528\u5efa\u69cb\u5f0f\u7684\u65b9\u6cd5\u6559\u5c0e\u9019\u4e00\u9ede\uff0c\u6211\u5011\u8981\u5c07\u300c\u4e00\u6b21\u8cbc\u4e0a\u300d\u7684\u89c0\u5ff5\uff0c\u8f49\u8b8a\u70ba\u300c\u4e00\u500b\u5b57\u4e00\u500b\u5b57\u642c\u904b\u300d\u7684\u52d5\u614b\u904e\u7a0b\u3002<\/p>\n\n\n\n<h5 class=\"wp-block-heading\">1. \u6838\u5fc3\u6982\u5ff5\uff1a\u4e0d\u662f\u300c\u62cd\u7167\u8cbc\u4e0a\u300d\uff0c\u662f\u300c\u8ddf\u5c41\u87f2\u6a5f\u5668\u4eba\u300d<\/h5>\n\n\n\n<p class=\"\">\u50b3\u7d71\u6559\u6cd5\u6703\u628a&nbsp;(2,3)&nbsp;\u89e3\u91cb\u70ba\u4e00\u500b\u975c\u614b\u6307\u4ee4\u3002\u4f46\u5be6\u969b\u4e0a\uff0c\u9019\u662f\u4e00\u500b<strong>\u52d5\u614b\u6307\u4ee4<\/strong>\u3002<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li class=\"\"><strong>\u524d\u9762\u7684\u6578\u5b57 (2)<\/strong>\uff1a\u4ee3\u8868\u300c\u8ddf\u5c41\u87f2\u300d\u8ddd\u96e2\u7b46\u5c16\u591a\u9060\uff08\u5f80\u56de\u770b\u5e7e\u683c\uff09\u3002<\/li>\n\n\n\n<li class=\"\"><strong>\u5f8c\u9762\u7684\u6578\u5b57 (3)<\/strong>\uff1a\u4ee3\u8868\u6a5f\u5668\u4eba\u8981\u8d70\u5e7e\u6b65\u8def\uff08\u91cd\u8907\u5e7e\u6b21\u52d5\u4f5c\uff09\u3002<\/li>\n<\/ul>\n\n\n\n<h5 class=\"wp-block-heading\">2. \u8996\u89ba\u5316\u6162\u52d5\u4f5c\u5206\u89e3 (Step-by-Step Visualization)<\/h5>\n\n\n\n<p class=\"\">\u6211\u5011\u62ff\u4e00\u5f35\u7d19\u689d\uff0c\u5beb\u4e0a&nbsp;B\u3001a\u3001n\uff0c\u7136\u5f8c\u5728\u5f8c\u9762\u756b\u4e09\u500b\u7a7a\u683c&nbsp;_&nbsp;_&nbsp;_\u3002<br>\u6307\u4ee4\u662f\uff1a<strong>\u5f80\u56de 2 \u683c\uff0c\u8907\u88fd 3 \u6b21<\/strong>\u3002<\/p>\n\n\n\n<h6 class=\"wp-block-heading\"><strong>\u7b2c\u4e00\u6b65<\/strong><\/h6>\n\n\n\n<ul class=\"wp-block-list\">\n<li class=\"\"><strong>\u73fe\u6cc1<\/strong>\uff1aB a n&nbsp;[ ]&nbsp;_&nbsp;_<\/li>\n\n\n\n<li class=\"\"><strong>\u52d5\u4f5c<\/strong>\uff1a\u6e38\u6a19\u5f80\u56de\u770b 2 \u683c\u3002\n<ul class=\"wp-block-list\">\n<li class=\"\">n&nbsp;(1\u683c\u524d) \u2190&nbsp;a&nbsp;(2\u683c\u524d)<\/li>\n\n\n\n<li class=\"\">\u6a5f\u5668\u4eba\u770b\u5230\u4e86&nbsp;<strong>a<\/strong><\/li>\n<\/ul>\n<\/li>\n\n\n\n<li class=\"\"><strong>\u5beb\u4e0b<\/strong>\uff1a\u628a&nbsp;a&nbsp;\u5beb\u5728[ ]\u88e1\u3002<\/li>\n\n\n\n<li class=\"\"><strong>\u7d50\u679c<\/strong>\uff1aB a n [a]&nbsp;_&nbsp;_<\/li>\n<\/ul>\n\n\n\n<h6 class=\"wp-block-heading\"><strong>\u7b2c\u4e8c\u6b65<\/strong><\/h6>\n\n\n\n<ul class=\"wp-block-list\">\n<li class=\"\"><strong>\u73fe\u6cc1<\/strong>\uff1aB a n a&nbsp;[ ]&nbsp;_<\/li>\n\n\n\n<li class=\"\"><strong>\u95dc\u9375\u9ede<\/strong>\uff1a\u6a5f\u5668\u4eba\u4f9d\u7136\u9075\u5b88\u300c\u5f80\u56de\u770b 2 \u683c\u300d\u7684\u898f\u5247\u3002<\/li>\n\n\n\n<li class=\"\"><strong>\u52d5\u4f5c<\/strong>\uff1a\u6e38\u6a19\u5f80\u56de\u770b 2 \u683c\u3002\n<ul class=\"wp-block-list\">\n<li class=\"\">a&nbsp;(1\u683c\u524d) \u2190&nbsp;n&nbsp;(2\u683c\u524d)<\/li>\n\n\n\n<li class=\"\">\u6a5f\u5668\u4eba\u770b\u5230\u4e86&nbsp;<strong>n<\/strong>\u3002<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li class=\"\"><strong>\u5beb\u4e0b<\/strong>\uff1a\u628a&nbsp;n&nbsp;\u5beb\u5728[ ]\u88e1\u3002<\/li>\n\n\n\n<li class=\"\"><strong>\u7d50\u679c<\/strong>\uff1aB a n a [n] _<\/li>\n<\/ul>\n\n\n\n<h6 class=\"wp-block-heading\"><strong>\u7b2c\u4e09\u6b65 \u2014\u2014 \u6700\u795e\u5947\u7684\u4e00\u523b<\/strong><\/h6>\n\n\n\n<ul class=\"wp-block-list\">\n<li class=\"\"><strong>\u73fe\u6cc1<\/strong>\uff1aB a n a n&nbsp;[ ]<\/li>\n\n\n\n<li class=\"\"><strong>\u52d5\u4f5c<\/strong>\uff1a\u6a5f\u5668\u4eba\u7e7c\u7e8c\u9075\u5b88\u300c\u5f80\u56de\u770b 2 \u683c\u300d\u3002\n<ul class=\"wp-block-list\">\n<li class=\"\">n&nbsp;(1\u683c\u524d) \u2190&nbsp;a&nbsp;(2\u683c\u524d)<\/li>\n\n\n\n<li class=\"\"><strong>\u6ce8\u610f\uff01<\/strong>&nbsp;\u9019\u500b&nbsp;a&nbsp;\u662f\u8ab0\uff1f\u9019\u500b&nbsp;a&nbsp;\u5c31\u662f\u6211\u5011<strong>\u5728\u7b2c\u4e00\u6b65\u525b\u525b\u5beb\u51fa\u4f86\u7684\u90a3\u500b&nbsp;a<\/strong>\uff01<\/li>\n\n\n\n<li class=\"\">\u6211\u5011\u6b63\u5728\u8907\u88fd\u300c\u525b\u525b\u624d\u7522\u751f\u7684\u65b0\u6771\u897f\u300d\u3002<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li class=\"\"><strong>\u5beb\u4e0b<\/strong>\uff1a\u628a&nbsp;a&nbsp;\u5beb\u5728[ ]\u88e1\u3002<\/li>\n\n\n\n<li class=\"\"><strong>\u7d50\u679c<\/strong>\uff1aB a n a n [a]<\/li>\n<\/ul>\n\n\n\n<h5 class=\"wp-block-heading\"><strong>Try it<\/strong><\/h5>\n\n\n\n<!-- \n    WORDPRESS EMBED INSTRUCTIONS:\n    1. Copy all the code below.\n    2. In WordPress, add a \"Custom HTML\" block.\n    3. Paste the code.\n    4. Save\/Publish.\n-->\n<div id=\"lz77-game-wrapper\" style=\"width: 750px; max-width: 100%; overflow: hidden;\">\n    <script src=\"https:\/\/cdn.tailwindcss.com\"><\/script>\n    <link\n        href=\"https:\/\/fonts.googleapis.com\/css2?family=JetBrains+Mono:wght@400;700&#038;family=Share+Tech+Mono&#038;display=swap\"\n        rel=\"stylesheet\">\n    <script>\n        tailwind.config = {\n            corePlugins: {\n                preflight: false, \/\/ Disable global reset\n            },\n            prefix: 'tw-', \/\/ Prefix to avoid conflicts\n            theme: {\n                extend: {\n                    fontFamily: {\n                        mono: [\"'JetBrains Mono'\", \"monospace\"],\n                        display: [\"'Share Tech Mono'\", \"monospace\"],\n                    },\n                    colors: {\n                        bg: \"#000000\",\n                        panel: \"#111217\",\n                        border: \"#22252b\",\n                        text: \"#c7d0d9\",\n                        neon: \"#57f287\", \/\/ Neon Green\n                        alert: \"#f2495c\", \/\/ Red\n                        warn: \"#ff9830\", \/\/ Orange\n                        info: \"#73bf69\", \/\/ Green\n                        highlight: \"#f2cc57\", \/\/ Yellow\n                    },\n                    boxShadow: {\n                        'neon': '0 0 5px rgba(87, 242, 135, 0.5), 0 0 10px rgba(87, 242, 135, 0.3)',\n                        'warn': '0 0 5px rgba(255, 152, 48, 0.5), 0 0 10px rgba(255, 152, 48, 0.3)',\n                    }\n                },\n            },\n        }\n    <\/script>\n    <style>\n        \/* Scoped Styles for the Game Container *\/\n        #lz77-game-root {\n            background-color: #000000;\n            color: #c7d0d9;\n            font-family: 'JetBrains Mono', monospace;\n            line-height: 1.5;\n        }\n\n        #lz77-game-root * {\n            box-sizing: border-box;\n        }\n\n        #lz77-game-root .text-glow {\n            text-shadow: 0 0 10px rgba(87, 242, 135, 0.5);\n        }\n\n        #lz77-game-root .panel-border {\n            border: 1px solid #22252b;\n            border-radius: 0.125rem;\n            background-color: #111217;\n        }\n\n        #lz77-game-root .scanline {\n            background: linear-gradient(to bottom,\n                    rgba(255, 255, 255, 0),\n                    rgba(255, 255, 255, 0) 50%,\n                    rgba(0, 0, 0, 0.2) 50%,\n                    rgba(0, 0, 0, 0.2));\n            background-size: 100% 4px;\n            position: absolute;\n            top: 0;\n            left: 0;\n            right: 0;\n            bottom: 0;\n            pointer-events: none;\n            z-index: 50;\n            opacity: 0.15;\n        }\n\n        \/* Custom Scrollbar scoped *\/\n        #lz77-game-root ::-webkit-scrollbar {\n            width: 4px;\n        }\n\n        #lz77-game-root ::-webkit-scrollbar-track {\n            background: #111217;\n        }\n\n        #lz77-game-root ::-webkit-scrollbar-thumb {\n            background: #22252b;\n            border-radius: 2px;\n        }\n\n        #lz77-game-root ::-webkit-scrollbar-thumb:hover {\n            background: #57f287;\n        }\n\n        \/* Animation *\/\n        @keyframes lz77-fadeIn {\n            from {\n                opacity: 0;\n                transform: translateY(5px);\n            }\n\n            to {\n                opacity: 1;\n                transform: translateY(0);\n            }\n        }\n    <\/style>\n\n    <div id=\"lz77-game-root\"\n        class=\"tw-relative tw-w-full tw-min-h-[400px] tw-p-4 tw-rounded-lg tw-overflow-hidden tw-text-sm sm:tw-text-base\">\n        <div class=\"scanline\"><\/div>\n\n        <!-- Language Switcher -->\n        <div class=\"tw-flex tw-justify-end tw-mb-4 tw-gap-2\">\n            <button id=\"lz77LangZh\" onclick=\"window.lz77Game.switchLanguage('zh')\"\n                class=\"tw-px-3 tw-py-1 tw-border-2 tw-border-neon tw-text-neon tw-bg-black tw-text-xs tw-font-bold hover:tw-bg-neon\/10 tw-transition-colors\">\n                \u4e2d\u6587\n            <\/button>\n            <button id=\"lz77LangEn\" onclick=\"window.lz77Game.switchLanguage('en')\"\n                class=\"tw-px-3 tw-py-1 tw-border-2 tw-border-gray-800 tw-text-gray-500 tw-bg-black tw-text-xs tw-font-bold hover:tw-border-gray-600 hover:tw-text-gray-400 tw-transition-colors\">\n                EN\n            <\/button>\n        <\/div>\n\n        <!-- Main Grid -->\n        <div class=\"tw-grid tw-grid-cols-1 lg:tw-grid-cols-12 tw-gap-6 tw-max-w-7xl tw-mx-auto\">\n\n            <!-- Left Column: Controls -->\n            <div class=\"lg:tw-col-span-4 tw-space-y-6\">\n                <!-- Controls Panel -->\n                <div class=\"panel-border tw-p-6\">\n                    <h2 class=\"tw-text-xs tw-text-gray-500 tw-uppercase tw-mb-4\" data-i18n=\"COMMAND_MODULE\">\n                        COMMAND_MODULE<\/h2>\n                    <div class=\"tw-grid tw-grid-cols-1 tw-gap-3\">\n                        <button id=\"lz77NextBtn\" onclick=\"window.lz77Game.nextStep()\"\n                            class=\"tw-bg-neon\/10 tw-border tw-border-neon tw-text-neon hover:tw-bg-neon hover:tw-text-black tw-p-3 tw-font-bold tw-tracking-wider tw-transition-all tw-uppercase tw-flex tw-items-center tw-justify-center tw-gap-2 tw-group\">\n                            <span data-i18n=\"NEXT_STEP\">[ NEXT_STEP ]<\/span>\n                            <span class=\"group-hover:tw-translate-x-1 tw-transition-transform\">\u2192<\/span>\n                        <\/button>\n                        <button onclick=\"window.lz77Game.reset()\"\n                            class=\"tw-bg-panel tw-border tw-border-border tw-text-gray-400 hover:tw-border-white hover:tw-text-white tw-p-3 tw-font-bold tw-tracking-wider tw-transition-all tw-uppercase\">\n                            <span data-i18n=\"SYSTEM_RESET\">[ SYSTEM_RESET ]<\/span>\n                        <\/button>\n                    <\/div>\n                <\/div>\n            <\/div>\n\n            <!-- Right Column: Visualization & Log -->\n            <div class=\"lg:tw-col-span-8 tw-space-y-6\">\n                <!-- Visualization Panel -->\n                <div class=\"panel-border tw-p-6 tw-min-h-[200px] tw-flex tw-flex-col tw-justify-center\">\n                    <h2 class=\"tw-text-xs tw-text-gray-500 tw-uppercase tw-mb-6 tw-flex tw-justify-between\">\n                        <span data-i18n=\"MEMORY_BUFFER\">MEMORY_BUFFER<\/span>\n                        <span class=\"tw-text-gray-600\">ADDR: 0x0000 &#8211; 0x0005<\/span>\n                    <\/h2>\n\n                    <div id=\"lz77StringDisplay\"\n                        class=\"tw-flex tw-flex-nowrap sm:tw-justify-center tw-gap-2 sm:tw-gap-4 tw-pb-2\">\n                        <!-- Boxes injected here -->\n                    <\/div>\n                <\/div>\n\n                <!-- Terminal Log -->\n                <div class=\"panel-border tw-p-4 tw-h-48 tw-flex tw-flex-col tw-bg-black\">\n                    <div\n                        class=\"tw-border-b tw-border-gray-800 tw-pb-2 tw-mb-2 tw-flex tw-justify-between tw-items-center\">\n                        <span class=\"tw-text-xs tw-text-gray-500 tw-uppercase\" data-i18n=\"SYSTEM_LOG\">SYSTEM_LOG<\/span>\n                        <div class=\"tw-flex tw-gap-1\">\n                            <div class=\"tw-w-2 tw-h-2 tw-rounded-full tw-bg-gray-800\"><\/div>\n                            <div class=\"tw-w-2 tw-h-2 tw-rounded-full tw-bg-gray-800\"><\/div>\n                            <div class=\"tw-w-2 tw-h-2 tw-rounded-full tw-bg-gray-800\"><\/div>\n                        <\/div>\n                    <\/div>\n                    <div id=\"lz77Explanation\"\n                        class=\"tw-font-mono tw-text-sm tw-space-y-2 tw-overflow-y-auto tw-flex-1 tw-pr-2\">\n                        <!-- Logs injected here -->\n                    <\/div>\n                <\/div>\n            <\/div>\n        <\/div>\n\n        <script>\n            \/\/ Namespaced Logic\n            window.lz77Game = (function () {\n                let currentStep = 0;\n                let currentLang = 'zh'; \/\/ Default to Chinese as per user preference in other files\n\n                const translations = {\n                    en: {\n                        COMMAND_MODULE: 'COMMAND_MODULE',\n                        NEXT_STEP: '[ NEXT_STEP ]',\n                        SYSTEM_RESET: '[ SYSTEM_RESET ]',\n                        MEMORY_BUFFER: 'MEMORY_BUFFER',\n                        SYSTEM_LOG: 'SYSTEM_LOG',\n                        READY: 'READY',\n                        COMPLETE: 'COMPLETE'\n                    },\n                    zh: {\n                        COMMAND_MODULE: '\u6307\u4ee4\u6a21\u7d44',\n                        NEXT_STEP: '[ \u4e0b\u4e00\u6b65 ]',\n                        SYSTEM_RESET: '[ \u7cfb\u7d71\u91cd\u7f6e ]',\n                        MEMORY_BUFFER: '\u8a18\u61b6\u9ad4\u7de9\u885d\u5340',\n                        SYSTEM_LOG: '\u7cfb\u7d71\u65e5\u8a8c',\n                        READY: '\u6e96\u5099\u5c31\u7dd2',\n                        COMPLETE: '\u5b8c\u6210'\n                    }\n                };\n\n                const steps = [\n                    {\n                        string: ['B', 'a', 'n', '_', '_', '_'],\n                        highlight: [],\n                        lookback: [],\n                        log: {\n                            en: '> INITIALIZING SEQUENCE...\\n> LOADED: \"Ban\"\\n> PENDING: 3 SLOTS\\n> INSTRUCTION: (2,3) -> LOOKBACK 2, COPY 3',\n                            zh: '> \u521d\u59cb\u5316\u5e8f\u5217...\\n> \u8f09\u5165: \"Ban\"\\n> \u5f85\u8655\u7406: 3 \u500b\u63d2\u69fd\\n> \u6307\u4ee4: (2,3) -> \u5f80\u56de\u770b 2 \u683c\uff0c\u8907\u88fd 3 \u6b21'\n                        }\n                    },\n                    {\n                        string: ['B', 'a', 'n', '_', '_', '_'],\n                        highlight: [3],\n                        lookback: [1],\n                        log: {\n                            en: '> STEP 1: SCANNING...\\n> OFFSET -2 DETECTED VALUE \"a\"\\n> PREPARING WRITE OPERATION...',\n                            zh: '> \u6b65\u9a5f 1: \u6383\u63cf\u4e2d...\\n> \u504f\u79fb\u91cf -2 \u5075\u6e2c\u5230\u503c \"a\"\\n> \u6e96\u5099\u5beb\u5165\u64cd\u4f5c...'\n                        }\n                    },\n                    {\n                        string: ['B', 'a', 'n', 'a', '_', '_'],\n                        highlight: [3],\n                        lookback: [],\n                        log: {\n                            en: '> STEP 1 COMPLETE.\\n> WROTE \"a\" TO BUFFER[3].\\n> CURRENT STATE: Ban[a]__',\n                            zh: '> \u6b65\u9a5f 1 \u5b8c\u6210\u3002\\n> \u5beb\u5165 \"a\" \u5230\u7de9\u885d\u5340[3]\u3002\\n> \u76ee\u524d\u72c0\u614b: Ban[a]__'\n                        }\n                    },\n                    {\n                        string: ['B', 'a', 'n', 'a', '_', '_'],\n                        highlight: [4],\n                        lookback: [2],\n                        log: {\n                            en: '> STEP 2: SCANNING...\\n> OFFSET -2 DETECTED VALUE \"n\"\\n> PREPARING WRITE OPERATION...',\n                            zh: '> \u6b65\u9a5f 2: \u6383\u63cf\u4e2d...\\n> \u504f\u79fb\u91cf -2 \u5075\u6e2c\u5230\u503c \"n\"\\n> \u6e96\u5099\u5beb\u5165\u64cd\u4f5c...'\n                        }\n                    },\n                    {\n                        string: ['B', 'a', 'n', 'a', 'n', '_'],\n                        highlight: [4],\n                        lookback: [],\n                        log: {\n                            en: '> STEP 2 COMPLETE.\\n> WROTE \"n\" TO BUFFER[4].\\n> CURRENT STATE: Bana[n]_',\n                            zh: '> \u6b65\u9a5f 2 \u5b8c\u6210\u3002\\n> \u5beb\u5165 \"n\" \u5230\u7de9\u885d\u5340[4]\u3002\\n> \u76ee\u524d\u72c0\u614b: Bana[n]_'\n                        }\n                    },\n                    {\n                        string: ['B', 'a', 'n', 'a', 'n', '_'],\n                        highlight: [5],\n                        lookback: [3],\n                        log: {\n                            en: '> STEP 3: RECURSIVE SCAN...\\n> OFFSET -2 DETECTED VALUE \"a\" (JUST WRITTEN)\\n> DYNAMIC REFERENCE ESTABLISHED.',\n                            zh: '> \u6b65\u9a5f 3: \u905e\u8ff4\u6383\u63cf...\\n> \u504f\u79fb\u91cf -2 \u5075\u6e2c\u5230\u503c \"a\" (\u525b\u5beb\u5165)\\n> \u5efa\u7acb\u52d5\u614b\u53c3\u7167\u3002'\n                        }\n                    },\n                    {\n                        string: ['B', 'a', 'n', 'a', 'n', 'a'],\n                        highlight: [5],\n                        lookback: [],\n                        log: {\n                            en: '> STEP 3 COMPLETE.\\n> WROTE \"a\" TO BUFFER[5].\\n> SEQUENCE FINALIZED: \"Banana\"\\n> PROCESS TERMINATED SUCCESSFULLY.',\n                            zh: '> \u6b65\u9a5f 3 \u5b8c\u6210\u3002\\n> \u5beb\u5165 \"a\" \u5230\u7de9\u885d\u5340[5]\u3002\\n> \u5e8f\u5217\u5b8c\u6210: \"Banana\"\\n> \u7a0b\u5e8f\u6210\u529f\u7d42\u6b62\u3002'\n                        }\n                    }\n                ];\n\n                function updateStaticText() {\n                    const t = translations[currentLang];\n                    document.querySelectorAll('[data-i18n]').forEach(el => {\n                        const key = el.getAttribute('data-i18n');\n                        if (t[key]) el.textContent = t[key];\n                    });\n\n                    \/\/ Update buttons style\n                    const btnZh = document.getElementById('lz77LangZh');\n                    const btnEn = document.getElementById('lz77LangEn');\n\n                    const activeClass = 'tw-border-neon tw-text-neon hover:tw-bg-neon\/10';\n                    const inactiveClass = 'tw-border-gray-800 tw-text-gray-500 hover:tw-border-gray-600 hover:tw-text-gray-400';\n\n                    if (currentLang === 'zh') {\n                        btnZh.className = `tw-px-3 tw-py-1 tw-border-2 tw-bg-black tw-text-xs tw-font-bold tw-transition-colors ${activeClass}`;\n                        btnEn.className = `tw-px-3 tw-py-1 tw-border-2 tw-bg-black tw-text-xs tw-font-bold tw-transition-colors ${inactiveClass}`;\n                    } else {\n                        btnZh.className = `tw-px-3 tw-py-1 tw-border-2 tw-bg-black tw-text-xs tw-font-bold tw-transition-colors ${inactiveClass}`;\n                        btnEn.className = `tw-px-3 tw-py-1 tw-border-2 tw-bg-black tw-text-xs tw-font-bold tw-transition-colors ${activeClass}`;\n                    }\n                }\n\n                function renderStep() {\n                    const step = steps[currentStep];\n                    const display = document.getElementById('lz77StringDisplay');\n                    const explanation = document.getElementById('lz77Explanation');\n\n                    display.innerHTML = '';\n\n                    step.string.forEach((char, index) => {\n                        const box = document.createElement('div');\n                        \/\/ Base styles with tw- prefix\n                        let classes = 'tw-w-12 tw-h-16 sm:tw-w-16 sm:tw-h-20 tw-flex tw-flex-col tw-items-center tw-justify-center tw-border-2 tw-rounded tw-transition-all tw-duration-300 tw-relative tw-group tw-flex-shrink-0';\n                        let textClasses = 'tw-text-xl sm:tw-text-2xl tw-font-bold';\n                        let indexClasses = 'tw-absolute -tw-top-3 tw-text-[10px] tw-text-gray-600 tw-font-mono tw-bg-black tw-px-1';\n\n                        \/\/ State styles\n                        if (index < 3) {\n                            \/\/ Initial\n                            classes += ' tw-border-gray-700 tw-bg-gray-900\/50';\n                            textClasses += ' tw-text-gray-400';\n                        } else if (char === '_') {\n                            \/\/ Empty\n                            classes += ' tw-border-gray-800 tw-border-dashed tw-text-gray-800';\n                            textClasses += ' tw-text-gray-800';\n                        } else {\n                            \/\/ Filled\n                            classes += ' tw-border-neon tw-bg-neon\/10 tw-shadow-neon';\n                            textClasses += ' tw-text-neon text-glow';\n                        }\n\n                        \/\/ Highlight (Target)\n                        if (step.highlight.includes(index)) {\n                            classes = classes.replace('tw-border-neon', 'tw-border-warn').replace('tw-bg-neon\/10', 'tw-bg-warn\/10').replace('tw-shadow-neon', 'tw-shadow-warn');\n                            textClasses = textClasses.replace('tw-text-neon', 'tw-text-warn');\n                        }\n\n                        \/\/ Lookback (Source)\n                        if (step.lookback.includes(index)) {\n                            classes += ' tw-animate-pulse tw-ring-2 tw-ring-blue-500 tw-ring-offset-2 tw-ring-offset-black';\n                        }\n\n                        box.className = classes;\n\n                        const indexLabel = document.createElement('div');\n                        indexLabel.className = indexClasses;\n                        indexLabel.textContent = `0x0${index}`;\n                        box.appendChild(indexLabel);\n\n                        const charText = document.createElement('div');\n                        charText.className = textClasses;\n                        charText.textContent = char;\n                        box.appendChild(charText);\n\n                        display.appendChild(box);\n                    });\n\n                    \/\/ Log typing effect\n                    explanation.innerHTML = '';\n                    const logText = step.log[currentLang];\n                    const lines = logText.split('\\n');\n                    lines.forEach((line, i) => {\n                        const p = document.createElement('div');\n                        p.className = line.startsWith('> ERROR') ? 'tw-text-alert' : (line.includes('COMPLETE') || line.includes('\u5b8c\u6210') || line.includes('SUCCESS') || line.includes('\u6210\u529f') ? 'tw-text-neon' : 'tw-text-gray-300');\n                        p.textContent = line;\n                        p.style.opacity = 0;\n                        p.style.animation = `lz77-fadeIn 0.3s forwards ${i * 0.1}s`;\n                        explanation.appendChild(p);\n                    });\n\n                    const nextBtn = document.getElementById('lz77NextBtn');\n                    nextBtn.disabled = currentStep === steps.length - 1;\n                    if (currentStep === steps.length - 1) {\n                        nextBtn.classList.add('tw-opacity-50', 'tw-cursor-not-allowed');\n                    } else {\n                        nextBtn.classList.remove('tw-opacity-50', 'tw-cursor-not-allowed');\n                    }\n                }\n\n                function nextStep() {\n                    if (currentStep < steps.length - 1) {\n                        currentStep++;\n                        renderStep();\n                    }\n                }\n\n                function reset() {\n                    currentStep = 0;\n                    renderStep();\n                }\n\n                function switchLanguage(lang) {\n                    currentLang = lang;\n                    updateStaticText();\n                    renderStep();\n                }\n\n                \/\/ Initialize\n                updateStaticText();\n                renderStep();\n\n                \/\/ Expose public methods\n                return {\n                    nextStep,\n                    reset,\n                    switchLanguage\n                };\n            })();\n        <\/script>\n    <\/div>\n<\/div>\n\n\n\n<h5 class=\"wp-block-heading\">3. \u6df1\u5165\u610f\u6db5\uff1a\u9019\u4ee3\u8868\u4ec0\u9ebc\uff1f(The \"Pattern\" Insight)<\/h5>\n\n\n\n<p class=\"\">\u7576&nbsp;<strong>\u8907\u88fd\u9577\u5ea6 (Length) &gt; \u5f80\u56de\u8ddd\u96e2 (Distance)<\/strong>&nbsp;\u6642\uff0c\u5c31\u6703\u767c\u751f\u9019\u7a2e\u300c\u81ea\u6211\u6284\u8972\u300d\u7684\u73fe\u8c61\u3002\u9019\u5728\u96fb\u8166\u79d1\u5b78\u4e2d\u4ee3\u8868\u4ec0\u9ebc\uff1f<\/p>\n\n\n\n<p class=\"\">\u5b83\u4ee3\u8868\u300c\u91cd\u8907\u6a21\u5f0f (Repeating Pattern)\u300d\u3002<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li class=\"\">Ban(2, 3)&nbsp;\u610f\u601d\u5c31\u662f\uff1a\u8acb\u628a\u6700\u5f8c 2 \u500b\u5b57&nbsp;an\uff0c\u7576\u4f5c\u4e00\u500b\u5370\u7ae0\uff0c\u9023\u7e8c\u84cb\u4e0b\u53bb\uff0c\u76f4\u5230\u84cb\u6eff 3 \u500b\u5b57\u70ba\u6b62\u3002<\/li>\n\n\n\n<li class=\"\">\u5982\u679c\u662f&nbsp;Ban(2, 10)&nbsp;\u5462\uff1f\n<ul class=\"wp-block-list\">\n<li class=\"\">\u5c31\u6703\u8b8a\u6210&nbsp;B&nbsp;+&nbsp;an&nbsp;an&nbsp;an&nbsp;an&nbsp;an... =&nbsp;Bananananana...<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<p class=\"\">\u6559\u5c0e&nbsp;Banana&nbsp;\u4f8b\u5b50\u7684\u95dc\u9375\u5728\u65bc<strong>\u6253\u7834\u300c\u975c\u614b\u8907\u88fd\u300d\u7684\u8ff7\u601d<\/strong>\u3002<\/p>\n\n\n\n<p class=\"\">\u8acb\u4f7f\u7528\u300c\u6642\u9593\u8ef8\u300d\u6216\u300c\u6162\u52d5\u4f5c\u300d\u7684\u6982\u5ff5\uff0c\u8b93\u5b69\u5b50\u89aa\u624b\u4e00\u500b\u5b57\u3001\u4e00\u500b\u5b57\u5730\u5beb\u51fa\u4f86\u3002\u7576\u4ed6\u5011\u767c\u73fe\u7b2c\u4e09\u500b\u5b57&nbsp;a&nbsp;\u662f\u4f86\u81ea\u65bc\u4ed6\u5011\u7b2c\u4e00\u6b65\u5beb\u4e0b\u7684&nbsp;a&nbsp;\u6642\uff0c\u4ed6\u5011\u5c31\u61c2\u4e86\u58d3\u7e2e\u6f14\u7b97\u6cd5\u4e2d\u6700\u7cbe\u5999\u7684\u300c\u6ed1\u52d5\u8996\u7a97\uff08Sliding Window\uff09\u300d\u6982\u5ff5\u4e86\u3002<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u7b2c\u56db\u968e\u6bb5\uff1a\u9023\u7d50\u73fe\u5be6 (Why does it matter?)<\/h3>\n\n\n\n<p class=\"\"><strong>\u8001\u5e2b<\/strong>\uff1a\u300c\u4f60\u77e5\u9053\u70ba\u4ec0\u9ebc\u6211\u5011\u9700\u8981\u9019\u9ebc\u9ebb\u7169\u55ce\uff1f\u300d<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li class=\"\"><strong>\u63d0\u554f<\/strong>\uff1a\u300c\u60f3\u50cf\u4f60\u8981\u628a\u6574\u500b\u5716\u66f8\u9928\u7684\u66f8\u88dd\u9032\u4e00\u500b\u884c\u674e\u7bb1\u3002\u5982\u679c\u66f8\u88e1\u9762\u6709\u5f88\u591a\u91cd\u8907\u7684\u53e5\u5b50\uff0c\u6211\u5011\u7528\u9019\u7a2e\u300e\u756b\u7bad\u982d\u300f\u7684\u65b9\u6cd5\uff0c\u66f8\u672c\u6703\u8b8a\u8584\u9084\u662f\u8b8a\u539a\uff1f\u300d<\/li>\n\n\n\n<li class=\"\"><strong>\u7e3d\u7d50<\/strong>\uff1a\u300c\u9019\u5c31\u662f\u70ba\u4ec0\u9ebc\u4f60\u53ef\u4ee5\u5f88\u5feb\u5730\u4e0b\u8f09\u904a\u6232\uff0c\u6216\u662f\u770b YouTube \u4e0d\u6703\u4e00\u76f4\u8f49\u5708\u5708\u3002\u56e0\u70ba\u8070\u660e\u7684\u96fb\u8166\u5148\u628a\u91cd\u8907\u7684\u8cc7\u6599\u300e\u58d3\u7e2e\u300f\u4e86\uff0c\u50b3\u5230\u4f60\u5bb6\u518d\u300e\u89e3\u58d3\u7e2e\u300f\u9084\u539f\u56de\u4f86\u3002\u9019\u5c31\u662f ZIP \u6a94\u548c PNG \u5716\u7247\u7684\u539f\u7406\uff01\u300d<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">\u6559\u5b78\u89c0\u5bdf\u91cd\u9ede\u8868 (Clinical Interview Guide)<\/h3>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><tbody><tr><td>\u89c0\u5bdf\u9ede<\/td><td>\u8f03\u7121\u6548\u7684\u53cd\u61c9 (Less Effective)<\/td><td>\u8f03\u6709\u6548\u7684\u5f15\u5c0e (More Effective)<\/td><\/tr><tr><td><strong>\u7576\u5b69\u5b50\u770b\u4e0d\u61c2\u7bad\u982d\u6307\u5411\u54ea\u88e1<\/strong><\/td><td>\u300c\u4f60\u770b\uff0c\u7bad\u982d\u6307\u8457 P\uff0c\u6240\u4ee5\u4f60\u8981\u586b P\u3002\u300d\uff08\u76f4\u63a5\u7d66\u7b54\u6848\uff09<\/td><td>\u300c\u8a66\u8457\u7528\u624b\u6307\u982d\u6cbf\u8457\u9019\u689d\u7dda\u8d70\u8d70\u770b\u3002\u5b83\u6700\u5f8c\u505c\u5728\u54ea\u500b\u5b57\u4e0a\u9762\uff1f\u90a3\u500b\u5b57\u662f\u8ab0\uff1f\u300d<\/td><\/tr><tr><td><strong>\u8655\u7406 Banana \u96e3\u984c (\u91cd\u758a\u8907\u88fd)<\/strong><\/td><td>\u300c\u516c\u5f0f\u662f (2,3)\uff0c\u5f80\u524d 2 \u500b\uff0c\u9577\u5ea6 3 \u500b\u3002\u300d<\/td><td>\u300c\u6211\u5011\u4f86\u7576\u500b\u6a5f\u5668\u4eba\uff0c\u6307\u4ee4\u53ea\u6709\u4e00\u500b\uff1a\u300e\u6284\u8972\u524d\u9762\u7b2c 2 \u500b\u5b57\u300f\u3002\u6211\u5011\u505a\u4e09\u6b21\u9019\u500b\u52d5\u4f5c\u770b\u770b\u6703\u767c\u751f\u4ec0\u9ebc\u4e8b\uff1f\u300d<\/td><\/tr><tr><td><strong>\u8a0e\u8ad6\u58d3\u7e2e\u6548\u7387<\/strong><\/td><td>\u300c\u6587\u5b57\u58d3\u7e2e\u7387\u8a08\u7b97\u516c\u5f0f\u662f...\u300d<\/td><td>\u300c\u4f60\u89ba\u5f97\u54ea\u4e00\u7a2e\u6587\u7ae0\u6700\u5bb9\u6613\u88ab\u58d3\u7e2e\uff1f\u662f\u4e00\u672c\u5b57\u5178\uff0c\u9084\u662f\u4e00\u672c\u4e00\u76f4\u5728\u8aaa\u300e\u5403\u8461\u8404\u4e0d\u5410\u8461\u8404\u76ae\u300f\u7684\u66f8\uff1f\u300d(\u5f15\u5c0e\u767c\u73fe\u91cd\u8907\u6027\u8d8a\u9ad8\uff0c\u58d3\u7e2e\u8d8a\u6709\u6548)<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\">\u7d66\u5bb6\u9577\/\u8001\u5e2b\u7684\u5efa\u8b70\uff1a<\/h3>\n\n\n\n<p class=\"\">\u9019\u7bc7\u6587\u7ae0\u7684\u6838\u5fc3\u5728\u65bc\u300c\u8996\u89ba\u5316\u300d<strong>\u3002\u4e0d\u8981\u6025\u8457\u8df3\u5230\u6578\u5b57\uff08\u4f8b\u5982\u6311\u6230\u6975\u9650\u4e2d\u7684&nbsp;Ban(2,3)\uff09\uff0c<\/strong>\u5148\u8b93\u5b69\u5b50\u7fd2\u6163\u756b\u6846\u6846\u548c\u62c9\u7dda\u3002<\/p>\n\n\n\n<p class=\"\">\u7576\u5b69\u5b50\u80fd\u5920\u719f\u7df4\u5730\u7528\u7dda\u689d\u628a\u300a\u5c0f\u661f\u661f\u300b\uff08Twinkle Twinkle Little Star\uff09\u756b\u5f97\u4e82\u4e03\u516b\u7cdf\uff08\u5145\u6eff\u7bad\u982d\uff09\u6642\uff0c\u4ed6\u5011\u5c31\u5df2\u7d93\u638c\u63e1\u4e86\u73fe\u4ee3\u7db2\u8def\u50b3\u8f38\u6700\u6838\u5fc3\u7684\u6280\u8853\u4e4b\u4e00\uff1a<strong>LZ \u7de8\u78bc\uff08Ziv-Lempel Coding\uff09<\/strong>\u3002<\/p>\n\n\n\n<p class=\"\">\u544a\u8a34\u5b69\u5b50\uff1a\u300c\u4e0b\u6b21\u88ab\u7f70\u5beb\u7684\u6642\u5019\uff0c\u8a66\u8a66\u770b\u5beb\u7b2c\u4e00\u904d\uff0c\u5f8c\u9762\u5168\u90e8\u756b\u7bad\u982d\uff0c\u770b\u770b\u8001\u5e2b\u6703\u4e0d\u6703\u4f69\u670d\u4f60\u7684\u300e\u904b\u7b97\u601d\u7dad\u300f\uff01\uff08\u4f46\u53ef\u80fd\u6703\u88ab\u6253\uff0c\u8acb\u81ea\u884c\u8ca0\u8cac XD\uff09\u300d<\/p>\n\n\n\n<p class=\"\">\u53c3\u8003\u4f86\u6e90\uff1a<a href=\"https:\/\/classic.csunplugged.org\/documents\/activities\/text-compression\/Text-Compression-Chinese-Version.pdf\" target=\"_blank\" rel=\"noopener\">csunplugged text_compression<\/a><\/p>\n\n\n\n<div style=\"height:100px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\"><\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\"><\/div>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>\u5982\u679c\u4f60\u8981\u7f70\u5beb\u300c\u6211\u4ee5\u5f8c\u4e0a\u8ab2\u4e0d\u8b1b\u8a71\u300d\u4e00\u767e\u904d\uff0c\u4f60\u6703\u4e0d\u6703\u89ba\u5f97\u624b\u5f88\u75e0\uff1f\u4f60\u6703\u4e0d\u6703\u5e0c\u671b\u6709\u4e00\u500b\u9b54\u6cd5\uff0c\u53ea\u8981\u5beb\u4e00\u6b21\uff0c\u5269\u4e0b\u7684\u7528\u7bad\u982d\u6307 [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":602,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"nf_dc_page":"","footnotes":""},"categories":[9,17],"tags":[26,39,24],"class_list":["post-586","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-cs-unplugged","category-representing-information","tag-26","tag-39","tag-24"],"blocksy_meta":[],"_links":{"self":[{"href":"https:\/\/learndeeplytw.com\/zh_tw\/wp-json\/wp\/v2\/posts\/586","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/learndeeplytw.com\/zh_tw\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/learndeeplytw.com\/zh_tw\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/learndeeplytw.com\/zh_tw\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/learndeeplytw.com\/zh_tw\/wp-json\/wp\/v2\/comments?post=586"}],"version-history":[{"count":20,"href":"https:\/\/learndeeplytw.com\/zh_tw\/wp-json\/wp\/v2\/posts\/586\/revisions"}],"predecessor-version":[{"id":676,"href":"https:\/\/learndeeplytw.com\/zh_tw\/wp-json\/wp\/v2\/posts\/586\/revisions\/676"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/learndeeplytw.com\/zh_tw\/wp-json\/wp\/v2\/media\/602"}],"wp:attachment":[{"href":"https:\/\/learndeeplytw.com\/zh_tw\/wp-json\/wp\/v2\/media?parent=586"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/learndeeplytw.com\/zh_tw\/wp-json\/wp\/v2\/categories?post=586"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/learndeeplytw.com\/zh_tw\/wp-json\/wp\/v2\/tags?post=586"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}