, ,

کتاب ساختمان داده‌ها و طراحی برنامه‌های کارآمد

299,999 تومان399,000 تومان

دوره آموزشی ساختمان داده‌ها و طراحی برنامه‌های کارآمد دوره جامع ساختمان داده‌ها و طراحی برنامه‌های کارآمد: دروازه‌ای به سوی مهندسی نرم‌افزار حرفه‌ای معرفی دوره: کدنویسی را از سطح یک برنامه‌نویس به یک …

🎓 دوره آموزشی جامع

📚 اطلاعات دوره

عنوان دوره: ساختمان داده‌ها و طراحی برنامه‌های کارآمد

موضوع کلی: علوم کامپیوتر و مهندسی نرم‌افزار

موضوع میانی: طراحی الگوریتم‌ها و ساختمان داده‌ها

📋 سرفصل‌های دوره (100 موضوع)

  • 1. مقدمه ای بر ساختمان داده ها و طراحی الگوریتم
  • 2. مروری بر زبان های برنامه نویسی و مفاهیم پایه ای
  • 3. الگوریتم ها و پیچیدگی زمانی (Big O Notation)
  • 4. ساختارهای داده انتزاعی (ADT) و پیاده سازی ها
  • 5. آرایه ها و لیست های پیوندی (Linked Lists)
  • 6. عملگرهای اساسی در لیست های پیوندی
  • 7. پیاده سازی پشته (Stack) و صف (Queue) با استفاده از لیست پیوندی
  • 8. پیاده سازی پشته (Stack) و صف (Queue) با استفاده از آرایه
  • 9. کاربرد پشته ها در ارزیابی عبارات
  • 10. کاربرد صف ها در شبیه سازی
  • 11. مروری بر بازگشت (Recursion)
  • 12. طراحی و تحلیل الگوریتم های بازگشتی
  • 13. الگوریتم های مرتب سازی: مرتب سازی حبابی (Bubble Sort)
  • 14. الگوریتم های مرتب سازی: مرتب سازی انتخابی (Selection Sort)
  • 15. الگوریتم های مرتب سازی: مرتب سازی درجی (Insertion Sort)
  • 16. الگوریتم های مرتب سازی: مرتب سازی ادغامی (Merge Sort)
  • 17. الگوریتم های مرتب سازی: مرتب سازی سریع (Quick Sort)
  • 18. مقایسه و تحلیل الگوریتم های مرتب سازی
  • 19. لیست های مرتب شده
  • 20. جستجو خطی و جستجو دودویی
  • 21. ساختارهای داده درختی: درخت دودویی
  • 22. پیمایش درخت دودویی
  • 23. درخت های جستجوی دودویی (Binary Search Trees – BST)
  • 24. عملیات درج، حذف و جستجو در BST
  • 25. درخت های متوازن: درخت AVL
  • 26. درخت های متوازن: درخت قرمز-سیاه
  • 27. Heap و Heap Sort
  • 28. اولیت صف (Priority Queue)
  • 29. درخت های B
  • 30. درخت های B+
  • 31. نقشه های درهم سازی (Hash Tables)
  • 32. توابع درهم سازی و حل برخورد
  • 33. کاربرد Hash Tables
  • 34. گراف ها و مفاهیم پایه ای
  • 35. نمایش گراف ها: ماتریس مجاورت و لیست مجاورت
  • 36. پیمایش گراف: جستجوی اول عمق (DFS)
  • 37. پیمایش گراف: جستجوی اول سطح (BFS)
  • 38. الگوریتم های کوتاهترین مسیر: الگوریتم Dijkstra
  • 39. الگوریتم های کوتاهترین مسیر: الگوریتم Floyd-Warshall
  • 40. درخت پوشای کمینه: الگوریتم Prim
  • 41. درخت پوشای کمینه: الگوریتم Kruskal
  • 42. شبکه های جریان (Flow Networks)
  • 43. حداکثر جریان و برش کمینه (Max-Flow Min-Cut Theorem)
  • 44. الگوریتم Ford-Fulkerson
  • 45. کاربرد گراف ها در مسائل دنیای واقعی
  • 46. الگوریتم های جستجوی رشته (String Searching)
  • 47. الگوریتم Knuth-Morris-Pratt (KMP)
  • 48. الگوریتم Boyer-Moore
  • 49. فشرده سازی داده ها: کدگذاری Huffman
  • 50. فشرده سازی داده ها: روش های مبتنی بر لغت نامه
  • 51. الگوریتم های تقسیم و حل (Divide and Conquer)
  • 52. برنامه نویسی پویا (Dynamic Programming): مفاهیم پایه ای
  • 53. برنامه نویسی پویا: دنباله فیبوناچی
  • 54. برنامه نویسی پویا: مسئله کوله پشتی
  • 55. برنامه نویسی پویا: مسئله کوتاهترین مسیر
  • 56. مسائل NP و NP-Complete
  • 57. مروری بر کلاس های پیچیدگی
  • 58. ارزیابی عملکرد الگوریتم ها
  • 59. استفاده از پروفایلرها
  • 60. تست نرم افزار و اشکال زدایی
  • 61. اصول طراحی نرم افزار
  • 62. الگوهای طراحی (Design Patterns): Singleton
  • 63. الگوهای طراحی: Factory
  • 64. الگوهای طراحی: Observer
  • 65. معرفی به زبان های برنامه نویسی شیء گرا (OOP)
  • 66. کلاس ها و اشیاء
  • 67. وراثت و چندریختی
  • 68. انتزاع و کپسوله سازی
  • 69. مدیریت حافظه و زباله روب (Garbage Collection)
  • 70. ساختمان داده های موازی
  • 71. الگوریتم های موازی
  • 72. آشنایی با کتابخانه های ساختمان داده
  • 73. استفاده از کتابخانه های ساختمان داده
  • 74. بهبود کارایی و بهینه سازی کد
  • 75. انتخاب ساختار داده مناسب
  • 76. تجزیه و تحلیل فضای ذخیره سازی
  • 77. تجزیه و تحلیل پیچیدگی حافظه
  • 78. کاربرد ساختمان داده ها در پایگاه داده
  • 79. ساختمان داده ها و شبکه های کامپیوتری
  • 80. ساختمان داده ها و هوش مصنوعی
  • 81. ساختمان داده ها و یادگیری ماشین
  • 82. مدیریت حافظه دستی و نکات پیشرفته
  • 83. طراحی سیستم های بزرگ با استفاده از ساختمان داده ها
  • 84. بهبود عملکرد جستجو
  • 85. فشرده سازی اطلاعات در ساختمان داده ها
  • 86. ساختمان داده های نامتغیر (Immutable Data Structures)
  • 87. ساختمان داده ها و امنیت
  • 88. ساختمان داده ها و سیستم های توزیع شده
  • 89. مدیریت خطا و استثناها در ساختمان داده ها
  • 90. مفاهیم concurrency و threading
  • 91. همگام سازی thread ها
  • 92. ساختمان داده ها برای حجم داده های بزرگ
  • 93. ساختمان داده ها در سیستم های real-time
  • 94. پروژه های عملی: پیاده سازی درخت جستجوی دودویی
  • 95. پروژه های عملی: پیاده سازی Hash Table
  • 96. پروژه های عملی: پیاده سازی الگوریتم مرتب سازی
  • 97. پروژه های عملی: پیاده سازی الگوریتم های گراف
  • 98. پروژه های عملی: طراحی یک سیستم با استفاده از ساختمان داده ها
  • 99. مروری بر مفاهیم و جمع بندی دوره
  • 100. آینده ساختمان داده ها و طراحی الگوریتم





دوره آموزشی ساختمان داده‌ها و طراحی برنامه‌های کارآمد


دوره جامع ساختمان داده‌ها و طراحی برنامه‌های کارآمد:
دروازه‌ای به سوی مهندسی نرم‌افزار حرفه‌ای

معرفی دوره: کدنویسی را از سطح یک برنامه‌نویس به یک مهندس نرم‌افزار واقعی ارتقا دهید!

آیا به دنبال فراتر رفتن از کدنویسی صرف هستید؟ آیا می‌خواهید برنامه‌هایی بنویسید که نه تنها کار می‌کنند، بلکه با سرعت بالا، حداقل مصرف منابع و حداکثر کارایی اجرا شوند؟ دوره آموزشی «ساختمان داده‌ها و طراحی برنامه‌های کارآمد» دقیقاً همان نقطه‌ای است که مسیر حرفه‌ای شما را متحول خواهد کرد. این دوره با الهام از اصول عمیق و کاربردی کتاب مرجع و ماندگار “Data structures and program design”، طراحی شده تا شما را به تفکر الگوریتمی و مهارت‌های لازم برای ساخت نرم‌افزارهای قدرتمند مجهز کند.

در دنیای امروز، تنها نوشتن کد کافی نیست؛ بلکه باید کدی نوشت که هوشمندانه، مقیاس‌پذیر و بهینه باشد. این دوره به شما کمک می‌کند تا با درک عمیق از نحوه سازماندهی و مدیریت داده‌ها، و همچنین طراحی الگوریتم‌های بهینه، چالش‌برانگیزترین مسائل برنامه‌نویسی را به راحتی حل کنید. ما نه تنها به شما ابزار می‌دهیم، بلکه تفکر مهندسی پشت این ابزارها را نیز به شما آموزش می‌دهیم تا در هر موقعیتی، بهترین راه‌حل را انتخاب کنید.

با ما همراه شوید تا از یک برنامه‌نویس معمولی به یک معمار نرم‌افزار کارآمد تبدیل شوید و برای موفقیت در بزرگترین شرکت‌های تکنولوژی دنیا آماده شوید.

درباره دوره: پی‌ریزی برای آینده‌ای روشن در مهندسی نرم‌افزار

این دوره صرفاً مجموعه‌ای از مباحث تئوریک نیست؛ بلکه یک تجربه یادگیری جامع و عملی است که شما را قدم به قدم با دنیای پیچیده اما جذاب ساختمان داده‌ها و طراحی الگوریتم‌ها آشنا می‌کند. ما فلسفه‌ای را دنبال می‌کنیم که در کتاب “Data structures and program design” برجسته شده است: “تفکر طراحی محور”. این بدان معناست که شما یاد می‌گیرید چگونه قبل از نوشتن حتی یک خط کد، بهترین ساختار داده و مناسب‌ترین الگوریتم را برای حل مسئله خود انتخاب کنید.

محتوای دوره به گونه‌ای طراحی شده که با ارائه مثال‌های واقعی و تمرین‌های عملی، درک شما را از مفاهیم انتزاعی به سطحی کاملاً کاربردی برساند. از تحلیل پیچیدگی زمانی و مکانی گرفته تا پیاده‌سازی‌های پیشرفته، هر آنچه برای ساخت سیستم‌هایی که هم سریع و هم قابل اطمینان هستند، نیاز دارید را در این دوره خواهید یافت. این دوره به شما کمک می‌کند تا پایه‌های دانش برنامه‌نویسی خود را مستحکم کرده و برای مقابله با هر چالش فنی در آینده آماده شوید.

موضوعات کلیدی: از پایه تا پیشرفته، هر آنچه نیاز دارید

در این دوره، شما به صورت عمیق با مباحث اصلی و پیشرفته در حوزه ساختمان داده‌ها و طراحی الگوریتم‌ها آشنا خواهید شد. برخی از موضوعات کلیدی که پوشش داده می‌شوند عبارتند از:

  • مقدمه‌ای بر ساختمان داده‌ها و تحلیل الگوریتم‌ها: پیچیدگی زمانی و مکانی، نمادگذاری‌های مجانبی (Big O).
  • ساختمان داده‌های خطی: آرایه‌ها، لیست‌های پیوندی (یک‌طرفه، دوطرفه، حلقوی)، پشته‌ها (Stack) و صف‌ها (Queue) و کاربردهای آنها.
  • ساختمان داده‌های درختی: درختان جستجوی دودویی (BST)، درختان متوازن (AVL Trees, Red-Black Trees)، هیپ‌ها (Heaps) و کاربرد آنها در صف‌های اولویت‌دار.
  • گراف‌ها و الگوریتم‌های مرتبط: نمایش گراف‌ها، پیمایش BFS و DFS، الگوریتم‌های یافتن کوتاه‌ترین مسیر (Dijkstra, Bellman-Ford)، درخت پوشای مینیمم (Prim, Kruskal).
  • جداول درهم‌سازی (Hash Tables): توابع درهم‌سازی، حل تصادم و کاربردهای آن در ذخیره‌سازی و بازیابی سریع اطلاعات.
  • مرتب‌سازی و جستجو: الگوریتم‌های مرتب‌سازی پایه (Bubble, Selection, Insertion)، الگوریتم‌های پیشرفته (Merge, Quick, Heap Sort)، جستجوی دودویی.
  • تکنیک‌های طراحی الگوریتم: تقسیم و حل (Divide and Conquer)، برنامه‌نویسی پویا (Dynamic Programming)، الگوریتم‌های حریصانه (Greedy Algorithms)، عقب‌گرد (Backtracking).
  • ساختمان داده‌های پیشرفته: تری‌ها (Tries)، فنویک (Fenwick Trees)، سگمنت تری (Segment Trees) و کاربردهای خاص.

مخاطبان دوره: چه کسی باید در این سفر دانش‌محور همراه ما باشد؟

این دوره برای طیف وسیعی از علاقه‌مندان به دنیای کامپیوتر و برنامه‌نویسی طراحی شده است که می‌خواهند دانش و مهارت‌های خود را به سطحی بالاتر ارتقا دهند:

  • دانشجویان علوم کامپیوتر و مهندسی نرم‌افزار: برای تثبیت مفاهیم درسی، درک عمیق‌تر و آماده‌سازی برای دروس پیشرفته‌تر.
  • توسعه‌دهندگان تازه‌کار (Junior Developers): که قصد دارند کدهای خود را بهینه‌تر کنند و از یک کدنویس ساده به یک مهندس نرم‌افزار کارآمد تبدیل شوند.
  • برنامه‌نویسان با تجربه: که به دنبال بازنگری، به‌روزرسانی و عمق بخشیدن به دانش خود در زمینه ساختمان داده‌ها و الگوریتم‌ها هستند.
  • علاقه‌مندان به شرکت در مصاحبه‌های فنی: این دوره شما را برای سوالات چالش‌برانگیز ساختمان داده و الگوریتم در مصاحبه‌های استخدامی شرکت‌های بزرگ تکنولوژی کاملاً آماده می‌کند.
  • هر کسی که می‌خواهد درک عمیق‌تری از عملکرد نرم‌افزار داشته باشد: و به دنبال نوشتن کدهای سریع‌تر، مقیاس‌پذیرتر و قابل نگهداری‌تر است.

چرا این دوره را بگذرانیم؟ مزیت رقابتی شما در دنیای تکنولوژی آینده!

در دنیای پررقابت امروز، صرفاً توانایی کدنویسی کافی نیست. برای برجسته شدن و دستیابی به موفقیت‌های بزرگ، شما به یک بنیان قوی در تفکر الگوریتمی و طراحی داده نیاز دارید. این دوره دقیقاً همان پلی است که شما را از سطح “کدنویسی” به “مهندسی نرم‌افزار” منتقل می‌کند:

  • **حل مسئله بهتر و سریع‌تر:** با یادگیری ساختمان داده‌های مناسب و الگوریتم‌های کارآمد، توانایی شما در تحلیل و حل مسائل پیچیده به شکل چشمگیری افزایش می‌یابد. دیگر با مشکلات عملکردی دست و پنجه نرم نخواهید کرد.
  • **کدنویسی بهینه و کارآمد:** این دوره به شما می‌آموزد چگونه کدهایی بنویسید که منابع سیستم را به حداقل برسانند و در عین حال حداکثر سرعت و پاسخگویی را ارائه دهند. این مهارت در توسعه سیستم‌های بزرگ و مقیاس‌پذیر حیاتی است.
  • **آمادگی کامل برای بازار کار:** سوالات مربوط به ساختمان داده‌ها و الگوریتم‌ها ستون فقرات مصاحبه‌های فنی در شرکت‌های پیشرو تکنولوژی (مانند گوگل، مایکروسافت، آمازون و …) هستند. این دوره شما را به صورت جامع برای این چالش‌ها آماده می‌کند.
  • **پیشرفت شغلی چشمگیر:** با کسب این مهارت‌های کلیدی، فرصت‌های شغلی جدید و پردرآمدتری در انتظار شما خواهد بود. شما از یک برنامه‌نویس معمولی به یک متخصص در زمینه بهینه‌سازی و طراحی سیستم تبدیل می‌شوید.
  • **درک عمیق از سیستم‌ها:** شما فقط از ابزارها استفاده نمی‌کنید، بلکه درک می‌کنید که چرا و چگونه این ابزارها کار می‌کنند. این بینش به شما کمک می‌کند تا تصمیمات طراحی بهتری بگیرید و کدهای قابل نگهداری‌تر و ماژولارتری بنویسید.
  • **الهام از بهترین‌ها:** با پیروی از اصول اثبات شده کتاب “Data structures and program design”، شما یک چارچوب فکری قدرتمند برای رویکرد به هر پروژه نرم‌افزاری به دست خواهید آورد.
  • **افزایش اعتماد به نفس:** تسلط بر این مفاهیم بنیادی، اعتماد به نفس شما را در مواجهه با هر پروژه برنامه‌نویسی و چالش فنی بالا می‌برد.

این دوره نه تنها یک سرمایه‌گذاری برای دانش شماست، بلکه یک سرمایه‌گذاری برای آینده شغلی و حرفه‌ای شماست. زمان آن رسیده که کدنویسی را با دیدگاه یک مهندس واقعی تجربه کنید.

سرفصل‌های دوره: نقشه‌راه جامع شما برای تسلط بر ساختمان داده‌ها و الگوریتم‌ها

ما به شما اطمینان می‌دهیم که این دوره جامع‌ترین و کامل‌ترین آموزش را در زمینه ساختمان داده‌ها و طراحی برنامه‌های کارآمد ارائه می‌دهد. در این دوره، بیش از 100 سرفصل جامع و کاربردی گنجانده شده است که تمامی ابعاد این حوزه حیاتی را پوشش می‌دهد. از مباحث مقدماتی تا تکنیک‌های پیشرفته، هر آنچه برای تبدیل شدن به یک مهندس نرم‌افزار خبره نیاز دارید، به دقت طراحی و ارائه شده است.

سرفصل‌ها به گونه‌ای ساختاربندی شده‌اند که شما را از مفاهیم پایه به سمت پیاده‌سازی‌های پیچیده و سناریوهای واقعی هدایت کنند. برخی از ماژول‌ها و محورهای اصلی این سرفصل‌های گسترده عبارتند از:

  • مبانی و تحلیل: شامل معرفی علوم کامپیوتر، انواع داده‌ها، مقدمات الگوریتم‌ها و روش‌های دقیق تحلیل کارایی.
  • ساختمان داده‌های اساسی: پوشش کامل تمامی انواع آرایه‌ها، لیست‌های پیوندی، پشته‌ها، صف‌ها و کاربردهای آنها.
  • ساختمان داده‌های درختی پیشرفته: بررسی عمیق درختان جستجوی دودویی، درختان متوازن AVL و Red-Black و سایر ساختارهای درختی.
  • گراف‌ها و مسائل پیچیده: کاوش در الگوریتم‌های پیمایش، یافتن کوتاه‌ترین مسیر و درختان پوشا در گراف‌ها.
  • تکنیک‌های بهینه‌سازی الگوریتمی: شامل برنامه‌نویسی پویا، الگوریتم‌های حریصانه، تکنیک‌های تقسیم و حل و بک‌ترکینگ.
  • جداول درهم‌سازی و جستجو: استراتژی‌های پیاده‌سازی جداول هش و انواع الگوریتم‌های جستجو.
  • مرتب‌سازی داده‌ها: از ساده‌ترین تا پیچیده‌ترین الگوریتم‌های مرتب‌سازی و تحلیل مقایسه‌ای آنها.
  • ساختمان داده‌ها برای سیستم‌های واقعی: بررسی کاربرد ساختمان داده‌ها در طراحی پایگاه‌های داده، سیستم‌عامل‌ها و کامپایلرها.
  • مقدمه‌ای بر ساختمان داده‌های موازی و توزیع‌شده: آشنایی با چالش‌ها و راهکارهای کار با داده‌ها در محیط‌های چندنخی و توزیع‌شده.

این مجموعه کامل از سرفصل‌ها تضمین می‌کند که شما نه تنها مفاهیم را یاد می‌گیرید، بلکه قادر خواهید بود آنها را در پروژه‌های واقعی پیاده‌سازی کرده و به طور موثری از آنها استفاده کنید. با ما، برای هر چالشی در دنیای برنامه‌نویسی آماده باشید!

اکنون زمان آن رسیده تا با سرمایه‌گذاری بر روی دانش خود، آینده‌ای درخشان‌تر را برای مسیر شغلی خود رقم بزنید.
برای ثبت‌نام و کسب اطلاعات بیشتر، با ما در ارتباط باشید.


📚 محتوای این محصول آموزشی (پکیج کامل)

💡 این محصول یک نسخهٔ کامل و جامع است

تمامی محتوای آموزشی این کتاب در قالب یک بسته‌ی کامل و یکپارچه ارائه می‌شود و شامل تمام نسخه‌ها و فایل‌های موردنیاز برای یادگیری است.

🎁 محتویات کامل بسته دانلودی

  • ویدیوهای آموزشی فارسی — آموزش قدم‌به‌قدم، کاربردی و قابل فهم
  • پادکست‌های صوتی فارسی — توضیح مفاهیم کلیدی و نکات تکمیلی
  • کتاب PDF فارسی — شامل کلیهٔ سرفصل‌ها و محتوای آموزشی
  • کتاب خلاصه نکات ویدیوها و پادکست‌ها – نسخه PDF — مناسب مرور سریع و جمع‌بندی مباحث
  • کتاب صدها نکته فارسی (خودمونی) – نسخه PDF — زبان ساده و کاربردی
  • کتاب صدها نکته رسمی فارسی – نسخه PDF — نگارش استاندارد، علمی و مناسب چاپ
  • کتاب صدها پرسش و پاسخ تشریحی – نسخه PDF
    — هر سؤال بلافاصله همراه با پاسخ کامل و شفاف ارائه شده است؛ مناسب درک عمیق مفاهیم و رفع ابهام.
  • کتاب صدها پرسش و پاسخ چهارگزینه‌ای – نسخه PDF (نسخه یادگیری سریع)
    — پاسخ‌ها بلافاصله پس از سؤال قرار دارند؛ مناسب یادگیری سریع و تثبیت مطالب.
  • کتاب صدها پرسش و پاسخ چهارگزینه‌ای – نسخه PDF (نسخه خودآزمایی پایان‌بخش)
    — پاسخ‌ها در انتهای هر بخش آمده‌اند؛ مناسب آزمون واقعی و سنجش میزان یادگیری.
  • کتاب تمرین‌های درست / نادرست (True / False) – نسخه PDF
    — مناسب افزایش دقت مفهومی و تشخیص صحیح یا نادرست بودن گزاره‌ها.
  • کتاب تمرین‌های جای خالی – نسخه PDF
    — تقویت یادگیری فعال و تسلط بر مفاهیم و اصطلاحات کلیدی.

🎯 این بسته یک دورهٔ آموزشی کامل و چندلایه است؛ شامل آموزش تصویری، صوتی، کتاب‌ها، تمرین‌ها و خودآزمایی .


ℹ️ نکات مهم هنگام خرید

  • این محصول به صورت فایل دانلودی کامل ارائه می‌شود و نسخهٔ چاپی ندارد.
  • تمامی فایل‌ها و کتاب‌ها کاملاً فارسی هستند.
  • توجه: لینک‌های اختصاصی دوره طی ۴۸ ساعت پس از ثبت سفارش ارسال می‌شوند.
  • نیازی به درج شماره موبایل نیست؛ اما برای پشتیبانی سریع‌تر توصیه می‌شود.
  • در صورت بروز مشکل در دانلود با شماره 09395106248 تماس بگیرید.
  • اگر پرداخت انجام شده ولی لینک‌ها را دریافت نکرده‌اید، نام و نام خانوادگی و نام محصول را پیامک کنید تا لینک‌ها دوباره ارسال شوند.

💬 راه‌های ارتباطی پشتیبانی:
واتس‌اپ یا پیامک: 09395106248
تلگرام: @ma_limbs

نوع پلن دوره

تمامی کتاب های PDF فارسی مجموعه, تمامی کتاب های PDF فارسی مجموعه + ویدیوها و پادکست های فارسی توضیحی کتاب ها

نقد و بررسی‌ها

هنوز بررسی‌ای ثبت نشده است.

اولین کسی باشید که دیدگاهی می نویسد “کتاب ساختمان داده‌ها و طراحی برنامه‌های کارآمد”

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

پیمایش به بالا