add algorithmic section

This commit is contained in:
Sadman Sobhan
2022-12-17 12:28:27 +06:00
parent 9b374c9f5b
commit 30c93ae77c

View File

@ -597,45 +597,40 @@ iOS-এ এটির দাম $25 কিন্তু অন্যান্য
আপনি যখন "Cracking the Coding Interview" এর মধ্য দিয়ে যান, তখন এই বিষয়ে একটি অধ্যায় থাকে এবং শেষে একটি কুইজ দেখতে হয় আপনি যখন "Cracking the Coding Interview" এর মধ্য দিয়ে যান, তখন এই বিষয়ে একটি অধ্যায় থাকে এবং শেষে একটি কুইজ দেখতে হয়
যদি আপনি বিভিন্ন অ্যালগরিদমের রানটাইম জটিলতা সনাক্ত করতে পারেন। এটি একটি সুপার পর্যালোচনা এবং পরীক্ষা. যদি আপনি বিভিন্ন অ্যালগরিদমের রানটাইম জটিলতা সনাক্ত করতে পারেন। এটি একটি সুপার পর্যালোচনা এবং পরীক্ষা.
</details> ## ডাটা স্ট্রাকচার
##ডাটা স্ট্রাকচার - ### অ্যার
- [ ] অ্যারে সম্পর্কে:
<details> - [Arrays CS50 Harvard University](https://www.youtube.com/watch?v=tI_tIZFyKBw&t=3009s)
<শ্লি> ডেটা স্ট্রাকচার </summary> - [Arrays (video)](https://www.coursera.org/lecture/data-structures/arrays-OsBSF)
- [UC Berkeley CS61B - Linear and Multi-Dim Arrays (video)](https://archive.org/details/ucberkeley_webcast_Wp8oiO_CZZE) (Start watching from 15m 32s)
-###অ্যারে - [Dynamic Arrays (video)](https://www.coursera.org/lecture/data-structures/dynamic-arrays-EwbnV)
-একটি স্বয়ংক্রিয় আকার পরিবর্তনকারী ভেক্টর প্রয়োগ করুন। - [Jagged Arrays (video)](https://www.youtube.com/watch?v=1jtrQqYpt7g)
- বিবরণ: - [ ] Implement a vector (mutable array with automatic resizing):
-[অ্যারে (ভিডিও)] (https://www.coursera.org/learn/data-structures/ নির্বাচন //sBSF/arrays) - [ ] Practice coding using arrays and pointers, and pointer math to jump to an index instead of using indexing.
-[ইউসি বার্কলে সিএস 61 বি-লিনিয়ার এবং মাল্টি-ডিম অ্যারে (ভিডিও)] (https://archive.org/details/ucberkeley_webcast_Wp8oiO_CZZE) (15m 32s থেকে দেখা শুরু করুন) - [ ] New raw data array with allocated memory
-[ডাইনামিক অ্যারে (ভিডিও)] (https://www.coursera.org/learn/data-structures/lecture/EwbnV/dynamic-arrays) - can allocate int array under the hood, just not use its features
-[জেগড অ্যারে (ভিডিও)] (https://www.youtube.com/watch?v=1jtrQqYpt7g) - start with 16, or if starting number is greater, use power of 2 - 16, 32, 64, 128
- একটি ভেক্টর প্রয়োগ করুন (স্বয়ংক্রিয় আকার পুনরায় আকারের সাথে পরিবর্তনীয় অ্যারে): - [ ] size() - আইটেমের সংখ্যা
- অ্যারে এবং পয়েন্টার ব্যবহার করে কোডিং অনুশীলন করুন, এবং সূচক ব্যবহারের পরিবর্তে সূচীতে ঝাঁপ দেওয়ার জন্য পয়েন্টার ম্যাথ th - [ ] capacity() - আইটেমের সংখ্যা এটি ধরে রাখতে পারে
- বরাদ্দ মেমরি সহ নতুন কাঁচা ডেটা অ্যারে - [ ] is_empty()
-হুডের অধীনে ইন অ্যারে বরাদ্দ করতে পারে, কেবল তার বৈশিষ্ট্যগুলি ব্যবহার করবেন না - [ ] at(index) - returns item at given index, blows up if index out of bounds
-16 দিয়ে শুরু করুন, বা যদি শুরুর সংখ্যাটি বেশি হয় তবে 2-16, 32, 64, 128 এর শক্তি ব্যবহার করুন - [ ] push(item)
- আকার ()-আইটেমের সংখ্যা - [ ] insert(index, item) - inserts item at index, shifts that index's value and trailing elements to the right
- ক্ষমতা ()-এটি ধরে রাখতে পারে এমন আইটেমের সংখ্যা - [ ] prepend(item) - can use insert above at index 0
-[ ] খালি() - [ ] pop() - শেষ থেকে সরান, ভ্যালু রিটার্ন করুন
- এ (সূচক)-প্রদত্ত সূচকে আইটেমটি ফেরত দেয়, সূচক সীমা ছাড়িয়ে গেলে ফুটিয়ে উঠে - [ ] delete(index) - delete item at index, shifting all trailing elements left
- ধাক্কা (আইটেম) - [ ] remove(item) - looks for value and removes index holding it (even if in multiple places)
- সন্নিবেশ (সূচক, আইটেম)-সূচীতে আইটেম সন্নিবেশ করায়, সূচকের মান এবং পিছনের উপাদানগুলি ডানদিকে সরিয়ে দেয় - [ ] find(item) - looks for value and returns first index with that value, -1 if not found
- প্রিপেন্ড (আইটেম)-উপরে সূচক 0 এ সন্নিবেশ ব্যবহার করতে পারেন - [ ] resize(new_capacity) // private function
- পপ ()-শেষ থেকে সরান, ফেরতের মান - when you reach capacity, resize to double the size
- মুছুন (সূচী)-সূচি অনুসারে আইটেম মুছুন, সমস্ত অনুবর্তনীয় উপাদান বাম দিকে সরিয়ে - when popping an item, if size is 1/4 of capacity, resize to half
- সরান (আইটেম)-মান সন্ধান করে এবং এটি ধরে রাখা সূচকটি সরিয়ে দেয় (এমনকি একাধিক জায়গায় থাকলেও) - [ ] Time
- সন্ধান করুন (আইটেম)-মানটির সন্ধান করে এবং সেই মানটির সাথে প্রথম সূচকটি প্রদান করে,-১ পাওয়া না গেলে - O(1) to add/remove at end (amortized for allocations for more space), index, or update
- পুনরায় আকার দিন (নতুন_ক্ষমতা) // ব্যক্তিগত ফাংশন - O(n) to insert/remove elsewhere
-যখন আপনি সক্ষমতা পৌঁছেছেন, আকার দ্বিগুণ করার জন্য পুনরায় আকার দিন - [ ] Space
-কোনও আইটেমটি পপ করার সময়, আকারটি যদি 1/4 ধারণক্ষমতা হয় তবে আকারটি অর্ধেক করুন - contiguous in memory, so proximity helps performance
- সময় - space needed = (array capacity, which is >= n) * size of item, but even if 2n, still O(n)
-ও (1) শেষে অন্তর্ভুক্ত / অপসারণ (আরও স্থানের জন্য বরাদ্দের জন্য সূক্ষ্ম), সূচক বা আপডেট
-ও (এন) অন্যত্র সন্নিবেশ / অপসারণ করতে
- স্পেস
-স্মৃতিতে সামঞ্জস্যপূর্ণ তাই নৈকট্য পারফরম্যান্সে সহায়তা করে
-স্থান প্রয়োজন = (অ্যারে ক্ষমতা, যা> = এন) * আইটেমের আকার, তবে 2n হলেও এখনও হে (এন)
-###লিঙ্কযুক্ত তালিকাগুলি -###লিঙ্কযুক্ত তালিকাগুলি
- বিবরণ: - বিবরণ: