چگونه تفکرم را به کد (برنامه کامپیوتری) تبدیل کنم؟ حل مسئله با کامپیوتر - کتاب "مقدمه ای بر الگوریتم ها" (سرفصل ها)

به نام خدا سلام INTRODUCTION TO ALGORITHMSسرفصل ها Thomas H. Cormen Charles E. Leiserson Ronald L. Rivest Clifford Stein Introduction to Algorithms Third Edition The MIT Press Cambridge, Massachusetts London, EnglandContentsPreface xiiiI FoundationsIntroduction 31 The Role of Algorithms in Computing 51.1 Algorithms 51.2 Algorithms as a technology 112 Getting Started 162.1 Insertion sort 162.2 Analyzing algorithms 232.3 Designing algorithms 293 Growth of Functions 433.1 Asymptotic notation 433.2 Standard notations and common functions 534 Divide-and-Conquer 654.1 The maximum-subarray problem 684.2 Strassen’s algorithm for matrix multiplication 754.3 The substitution method for solving recurrences 834.4 The recursion-tree method for solving recurrences 884.5 The master method for solving recurrences 93? 4.6 Proof of the master theorem 975 Probabilistic Analysis and Randomized Algorithms 1145.1 The hiring problem 1145.2 Indicator random variables 1185.3 Randomized algorithms 1225.4 Probabilistic analysis and further uses of indicator random variables 130II Sorting and Order StatisticsIntroduction 1476 Heapsort 1516.1 Heaps 1516.2 Maintaining the heap property 1546.3 Building a heap 1566.4 The heapsort algorithm 1596.5 Priority queues 1627 Quicksort 1707.1 Description of quicksort 1707.2 Performance of quicksort 1747.3 A randomized version of quicksort 1797.4 Analysis of quicksort 1808 Sorting in Linear Time 1918.1 Lower bounds for sorting 1918.2 Counting sort 1948.3 Radix sort 1978.4 Bucket sort 2009 Medians and Order Statistics 2139.1 Minimum and maximum 2149.2 Selection in expected linear time 2159.3 Selection in worst-case linear time 22III Data StructuresIntroduction 22910 Elementary Data Structures 23210.1 Stacks and queues 23210.2 Linked lists 23610.3 Implementing pointers and objects 24110.4 Representing rooted trees 24611 Hash Tables 25311.1 Direct-address tables 25411.2 Hash tables 25611.3 Hash functions 26211.4 Open addressing 26911.5 Perfect hashing 27712 Binary Search Trees 28612.1 What is a binary search tree 28612.2 Querying a binary search tree 28912.3 Insertion and deletion 29412.4 Randomly built binary search trees 29913 Red-Black Trees 30813.1 Properties of red-black trees 30813.2 Rotations 31213.3 Insertion 31513.4 Deletion 32314 Augmenting Data Structures 33914.1 Dynamic order statistics 33914.2 How to augment a data structure 34514.3 Interval trees 348IV Advanced Design and Analysis TechniquesIntroduction 35715 Dynamic Programming 35915.1 Rod cutting 36015.2 Matrix-chain multiplication 37015.3 Elements of dynamic programming 37815.4 Longest common subsequence 39015.5 Optimal binary search trees 39716 Greedy Algorithms 41416.1 An activity-selection problem 41516.2 Elements of the greedy strategy 42316.3 Huffman codes 42816.4 Matroids and greedy methods 43716.5 A task-scheduling problem as a matroid 44317 Amortized Analysis 45117.1 Aggregate analysis 45217.2 The accounting method 45617.3 The potential method 45917.4 Dynamic tables 463Advanced Data StructuresIntroduction 48118 B-Trees 48418.1 Definition of B-trees 48818.2 Basic operations on B-trees 49118.3 Deleting a key from a B-tree 49919 Fibonacci Heaps 50519.1 Structure of Fibonacci heaps 50719.2 Mergeable-heap operations 51019.3 Decreasing a key and deleting a node 51819.4 Bounding the maximum degree 52320 van Emde Boas Trees 53120.1 Preliminary approaches 53220.2 A recursive structure 53620.3 The van Emde Boas tree 54521 Data Structures for Disjoint Sets 56121.1 Disjoint-set operations 56121.2 Linked-list representation of disjoint sets 56421.3 Disjoint-set forests 56821.4 Analysis of union by rank with path compression 57VI Graph AlgorithmsIntroduction 58722 Elementary Graph Algorithms 58922.1 Representations of graphs 58922.2 Breadth-first search 59422.3 Depth-first search 60322.4 Topological sort 61222.5 Strongly connected components 61523 Minimum Spanning Trees 62423.1 Growing a minimum spanning tree 62523.2 The algorithms of Kruskal and Prim 63124 Single-Source Shortest Paths 64324.1 The Bellman-Ford algorithm 65124.2 Single-source shortest paths in directed acyclic graphs 65524.3 Dijkstra’s algorithm 65824.4 Difference constraints and shortest paths 66424.5 Proofs of shortest-paths properties 67125 All-Pairs Shortest Paths 68425.1 Shortest paths and matrix multiplication 68625.2 The Floyd-Warshall algorithm 69325.3 Johnson’s algorithm for sparse graphs 70026 Maximum Flow 70826.1 Flow networks 70926.2 The Ford-Fulkerson method 71426.3 Maximum bipartite matching 73226.4 Push-relabel algorithms 73626.5 The relabel-to-front algorithm 74VII Selected TopicsIntroduction 76927 Multithreaded Algorithms 77227.1 The basics of dynamic multithreading 77427.2 Multithreaded matrix multiplication 79227.3 Multithreaded merge sort 79728 Matrix Operations 81328.1 Solving systems of linear equations 81328.2 Inverting matrices 82728.3 Symmetric positive-definite matrices and least-squares approximation 83229 Linear Programming 84329.1 Standard and slack forms 85029.2 Formulating problems as linear programs 85929.3 The simplex algorithm 86429.4 Duality 87929.5 The initial basic feasible solution 886 x Contents30 Polynomials and the FFT 89830.1 Representing polynomials 90030.2 The DFT and FFT 90630.3 Efficient FFT implementations 91531 Number-Theoretic Algorithms 92631.1 Elementary number-theoretic notions 92731.2 Greatest common divisor 93331.3 Modular arithmetic 93931.4 Solving modular linear equations 94631.5 The Chinese remainder theorem 95031.6 Powers of an element 95431.7 The RSA public-key cryptosystem 95831.8 Primality testing 96531.9 Integer factorization 97532 String Matching 98532.1 The naive string-matching algorithm 98832.2 The Rabin-Karp algorithm 99032.3 String matching with finite automata 99532.4 The Knuth-Morris-Pratt algorithm 100233 Computational Geometry 101433.1 Line-segment properties 101533.2 Determining whether any pair of segments intersects 102133.3 Finding the convex hull 102933.4 Finding the closest pair of points 103934 NP-Completeness 104834.1 Polynomial time 105334.2 Polynomial-time verification 106134.3 NP-completeness and reducibility 106734.4 NP-completeness proofs 107834.5 NP-complete problems 108635 Approximation Algorithms 110635.1 The vertex-cover problem 110835.2 The traveling-salesman problem 111135.3 The set-covering problem 111735.4 Randomization and linear programming 112335.5 The subset-sum problem 1128VIII Appendix: Mathematical BackgroundIntroduction 1143A Summations 1145A.1 Summation formulas and properties 1145A.2 Bounding summations 1149B Sets, Etc. 1158B.1 Sets 1158B.2 Relations 1163B.3 Functions 1166B.4 Graphs 1168B.5 Trees 1173C Counting and Probability 1183C.1 Counting 1183C.2 Probability 1189C.3 Discrete random variables 1196C.4 The geometric and binomial distributions 1201C.5 The tails of the binomial distribution 1208D Matrices 1217D.1 Matrices and matrix operations 1217D.2 Basic matrix properties 1222Bibliography 1231Index 1251سرفصل ها به فارسیمقدمه ای بر الگوریتم هافهرستپیشگفتار xiiiبنیادها Iمقدمه 31 نقش الگوریتم ها در محاسبات 51.1 الگوریتم ها 51.2 الگوریتم ها به عنوان یک فناوری 112 شروع 162.1 مرتب سازی درج 162.2 تجزیه و تحلیل الگوریتم ها 232.3 طراحی الگوریتم ها 293 رشد توابع 433.1 نماد مجانبی 433.2 نمادهای استاندارد و توابع رایج 534 تقسیم کن 654.1 مشکل حداکثر زیرآری 684.2 الگوریتم استراسن برای ضرب ماتریس 754.3 روش جایگزینی برای حل عودها 834.4 روش درخت بازگشتی برای حل عودها 884.5 روش اصلی برای حل عودها 934.6 اثبات قضیه اصلی 975 تحلیل احتمالی و الگوریتم های تصادفی 1145.1 مشکل استخدام 1145.2 متغیرهای تصادفی شاخص 1185.3 الگوریتم های تصادفی 1225.4 تحلیل احتمالی و استفاده بیشتر از متغیرهای تصادفی شاخص 130مرتب سازی و آمار سفارش IIمقدمه 1476 مرتب سازی هیپ 1516.1 مرتب سازی هیپ 1516.2 حفظ خاصیت هیپ 1546.3 ساختن پشته 1566.4 الگوریتم مرتب سازی هیپ 1596.5 صف های اولویت دار 1627 مرتب سازی سریع 1707.1 شرح مرتب سازی سریع 1707.2 عملکرد مرتب سازی سریع 1747.3 یک نسخه تصادفی از مرتب سازی سریع 1797.4 تجزیه و تحلیل مرتب سازی سریع 1808 مرتب سازی در زمان خطی 1918.1 مرزهای پایین برای مرتب سازی 1918.2 مرتب سازی شمارش 1948.3 مرتب سازی ریشه 1978.4 مرتب سازی سطلی 2009 میانه و آمار سفارش 2139.1 حداقل و حداکثر 2149.2 انتخاب در زمان خطی مورد انتظار 2159.3 انتخاب در بدترین حالت خطی زمان 22ساختارهای داده IIIمقدمه 22910 ساختار داده های ابتدایی 23210.1 پشته ها و صف ها 23210.2 لیست های پیوندی 23610.3 پیاده سازی اشاره گرها و اشیاء 24110.4 به نمایندگی از درختان ریشه دار 24611 جدول هش 25311.1 جداول آدرس مستقیم 25411.2 جداول هش 25611.3 توابع هش 26211.4 آدرس 269 را باز کنید11.5 هش کامل 27712 درخت جستجوی باینری 28612.1 درخت جستجوی باینری چیست 28612.2 پرس و جو از درخت جستجوی دودویی 28912.3 درج و حذف 29412.4 درختان جستجوی باینری تصادفی ساخته شده 29913 درخت قرمز-سیاه 30813.1 خواص درختان سرخ سیاه 30813.2 چرخش 31213.3 درج 31513.4 حذف 32314 تقویت ساختارهای داده 33914.1 آمار سفارش پویا 33914.2 نحوه تقویت ساختار داده 34514.3 درختان فاصله 348تکنیک های طراحی و تحلیل پیشرفته IVمقدمه 35715 برنامه نویسی پویا 35915.1 میله برش 36015.2 ضرب ماتریس زنجیره 37015.3 عناصر برنامه نویسی پویا 37815.4 طولانی ترین دنباله متداول 39015.5 درخت های جستجوی باینری بهینه 39716 الگوریتم حریص 41416.1 مسئله انتخاب فعالیت 41516.2 عناصر استراتژی حریصانه 42316.3 کد هافمن 42816.4 ماتروئیدها و روش های حریصانه 43716.5 یک مشکل زمان بندی کار به عنوان یک ماتروئید 44317 تحلیل مستهلک 45117.1 تجزیه و تحلیل کل 45217.2 روش حسابداری 45617.3 روش بالقوه 45917.4 جداول پویا 463 17 تحلیل مستهلک 45117.1 تجزیه و تحلیل کل 45217.2 روش حسابداری 45617.3 روش بالقوه 45917.4 جداول پویا 463ساختارهای داده پیشرفتهمقدمه 48118 درختان بی 48418.1 تعریف درختان بی 48818.2 عملیات اساسی در درختان بی 49118.3 حذف یک کلید از درخت بی 49919 فیبوناچی هیپس 50519.1 ساختار پشته های فیبوناچی 50719.2 عملیات هیپ قابل ادغام 51019.3 کاهش یک کلید و حذف یک گره 51819.4 محدود کردن حداکثر درجه 52320 درختان ای ام دی ای بواس 53120.1 رویکردهای اولیه 53220.2 ساختار بازگشتی 53620.3 درخت ای ام دی ای بواس 54321 ساختار داده برای مجموعه های مجزا 56121.1 عملیات مجزا 56121.2 نمایش لیست پیوندی مجموعه‌های مجزا 56421.3 جنگل های منفصل 56821.4 تجزیه و تحلیل اتحاد بر اساس رتبه با فشرده سازی مسیر 57الگوریتم های گراف VIمقدمه 58722 الگوریتم گراف ابتدایی 58922.1 نمایش گراف ها 58922.2 جستجوی اول عرض 59422.3 جستجوی اول عمق 60322.4 مرتب سازی توپولوژیکی 61222.5 قطعات با اتصال قوی 61523 حداقل درخت پوشا 62423.1 رشد حداقل درخت پوشا 62523.2 الگوریتم های کروسکال و پریم 63124 کوتاهترین مسیرهای تک منبعی 64324.1 الگوریتم بلمن-فورد 65124.2 کوتاهترین مسیرهای تک منبعی در گراف های غیر چرخه ای جهت دار 65524.3 الگوریتم دایکسترا 65824.4 محدودیت های تفاوت و کوتاه ترین مسیرها 66424.5 اثبات ویژگی های کوتاه ترین مسیر 67125 همه جفت کوتاه ترین مسیرها 68425.1 کوتاه ترین مسیرها و ضرب ماتریس 68625.2 الگوریتم فلوید-وارشال 69325.3 الگوریتم جانسون برای گراف های پراکنده 70026 حداکثر جریان 70826.1 شبکه های جریان 70926.2 روش فورد-فولکرسون 71426.3 حداکثر تطبیق دوبخشی 73226.4 الگوریتم های پوش ریلبل 73626.5 الگوریتم ریلبل تو فرانت 74موضوعات منتخب VIIمقدمه 76927 الگوریتم چند رشته ای 77227.1 اصول اولیه چند رشته ای پویا 77427.2 ضرب ماتریس چند رشته ای 79227.3 مرتب سازی ادغام چند رشته ای 79728 عملیات ماتریس 81328.1 حل سیستم معادلات خطی 81328.2 معکوس کردن ماتریس 82728.3 ماتریس های متقارن مثبت-معین و تقریب حداقل مربعات 83229 برنامه نویسی خطی 84329.1 فرم استاندارد و اسلک 85029.2 فرمول بندی مسائل به عنوان برنامه های خطی 85929.3 الگوریتم سیمپلکس 86429.4 دوآلیتی 87929.5 راه حل اولیه اولیه امکان پذیر 886 x محتویات30 چند جمله ای و اف اف تی 89830.1 نمایش چند جمله ای 90030.2 "اف اف تی" و "دی اف تی" 90630.3 اجرای کارآمد اف اف تی 91531 الگوریتم های نظریه اعداد 92631.1 مفاهیم ابتدایی اعداد نظریه 92731.2 بزرگترین مقسوم علیه مشترک 93331.3 محاسبات مدولار 93931.4 حل معادلات خطی مدولار 94631.5 قضیه باقیمانده چینی 95031.6 قدرت های یک عنصر 95431.7 سیستم رمزنگاری کلید عمومی RSA 95831.8 تست اولیه 96531.9 فاکتورسازی اعداد صحیح 97532 رشته تطبیق 98532.1 الگوریتم تطبیق رشته ساده 98832.2 الگوریتم رابین-کارپ 99032.3 تطبیق رشته با اتوماتای ​​محدود 99532.4 الگوریتم نوت مورس پرات 100233 هندسه محاسباتی 101433.1 ویژگی های بخش خط 101533.2 تعیین اینکه آیا هر جفت قطعه 1021 را قطع می کند یا خیر33.3 یافتن بدنه محدب 102933.4 یافتن نزدیکترین جفت نقطه 103934 "ان پی کاملیت نس" 104834.1 زمان چند جمله ای 105334.2 راستی‌آزمایی زمان چند جمله‌ای 106134.3 ان پی - 1067 کاملیت و کاهش پذیری34.4 اثبات کامل بودن "ان پی" 107834.5 مسائل NP-کامل 108635 الگوریتم تقریب 110635.1 مسئله پوشش راس 110835.2 مسئله فروشنده دوره گرد 111135.3 مسئله پوشش مجموعه 111735.4 تصادفی سازی و برنامه ریزی خطی 112335.5 مسئله جمع زیر مجموعه 1128پیوست هشتم: پیشینه ریاضیمقدمه 1143الف . جمع بندی 1145الف.1 فرمول ها و خصوصیات جمع 1145الف.2 مجموع کران 1149ب . مجموعه ها و غیره 1158ب.1 مجموعه ها 1158ب.2 روابط 1163ب.3 توابع 1166ب.4 گراف ها 1168ب.۵ درختان ۱۱۷۳ج شمارش و احتمال 1183ج.1 شمارش 1183ج.2 احتمال 1189ج.3 متغیرهای تصادفی گسسته 1196ج.4 توزیع های هندسی و دوجمله ای 1201ج.5 دنباله های توزیع دوجمله ای 1208د . ماتریس 1217د.1 ماتریس و عملیات ماتریس 1217د.2 ویژگی های اساسی ماتریس 1222کتابشناسی 1231فهرست 1251منبع https://edutechlearners.com/download/Introduction_to_algorithms-3rd%20Edition.pdf موفق باشیدبه امید خدا