გაიარეთ ინტერვიუს ალგორითმის კითხვა? ალგორითმის კითხვების სწავლას ძალიან დიდი დრო სჭირდება? შენი პრობლემა არაა! მანამდე არც ერთი ალგორითმული სწავლის მეთოდი არ იქნებოდა ასე მარტივი და ეფექტური. ალგორითმის ოსტატი გახდომას მხოლოდ სამი ნაბიჯი სჭირდება: პირველი ნაბიჯი არის კითხვის წაკითხვა; მეორე ნაბიჯი არის ანიმაციის დაკვრა, სუბტიტრების მითითება და გაგება. იდეები და კოდები; მესამე ნაბიჯი არის წაკითხვა, ანალიზი და შეჯამება;
ალგორითმის ანიმაციური დიაგრამის აპლიკაციის შექმნა გამომდინარეობს მრავალი პროგრამისტის პირადი გამოცდილებიდან, რომლებიც ხშირად საჭიროებენ ალგორითმების გადახედვას სამუშაოს შეცვლისას. ამ ალგორითმების გადახედვის პროცესი, როგორც წესი, მოიცავს სხვადასხვა ონლაინ გადაწყვეტილებების ყურებას, რომელთაგან ბევრი აერთიანებს ანიმაციურ ვიზუალს ან სქემატურ დიაგრამებს. წარმოდგენის ეს ფორმები უფრო ეფექტური და უფრო სწრაფად აღსაქმელია, ვიდრე მხოლოდ ტექსტი. თუმცა, აშკარა გახდა არსებული რესურსების გარკვეული შეზღუდვები, მათ შორის ანიმაციებში ინტერაქტიულობის ნაკლებობა, სწავლის დროს მონაცემების შეცვლის შეუძლებლობა და მობილური წვდომასთან დაკავშირებული გამოწვევები.
სწავლის გამოცდილების გაუმჯობესების სურვილით მოტივირებული, დეველოპერმა ვალდებულება შექმნას 70 განსხვავებული ანიმაცია აპლიკაციის ფარგლებში. ამ აპლიკაციის მთავარი მიზანია იყოს სასწავლო ინსტრუმენტი, რომელიც ეხმარება მომხმარებლებს ალგორითმის ცნებებისა და კოდის სწრაფად გააზრებაში. მიუხედავად იმისა, რომ აპლიკაცია უზრუნველყოფს ვიზუალური და ინტერაქტიული სწავლის გამოცდილებას, ის მომხმარებლებს არ აძლევს საშუალებას წარადგინონ ან შეასრულონ კოდი; კომპიუტერზე კოდის აკრეფა აუცილებელია სრული სწავლისთვის.
აპლიკაციის შინაარსის ორგანიზებისას, დეველოპერმა არჩია ალგორითმის კითხვები არ მოეწყო LeetCode-ის საიდენტიფიკაციო ნომრებით. სამაგიეროდ, მათ კითხვები დაყვეს სამ ძირითად კატეგორიად: დაკავშირებული სიები, სტრიქონები, მასივები და ბინარული ხეები; უკან დაბრუნება, გაუმაძღარი ალგორითმები, დინამიური პროგრამირება და გაყოფა და იბატონე; ცალკე განყოფილებასთან ერთად დასალაგებლად. ყოველი კატეგორია დაყოფილია სირთულის მიხედვით - მარტივი, საშუალო და რთული - რაც მომხმარებლებს საშუალებას აძლევს ფოკუსირება მოახდინონ კონკრეტულ ცოდნის სფეროებზე თანმიმდევრულად, ხოლო წაახალისონ თეორიული ცნებების საფუძვლიანი სწავლა.
აპი ასევე ასახავს დეველოპერის საკუთარ წარსულ სწავლის გამოცდილებას, განსაკუთრებით იმ გამოწვევებს, რომელთა წინაშეც დგას დახარისხების ალგორითმები. ვინაიდან დახარისხება თავდაპირველად რთულ თემად აღიქმებოდა, მისთვის სპეციალური კლასიფიკაცია დანიშნულ იქნა დამწყებთათვის, რათა ხელი შეუწყოს უკეთესად გაგებას. ეს სტრუქტურირებული მიდგომა მიზნად ისახავს დაეხმაროს მომხმარებლებს სისტემატიურად ნავიგაციაში რთულ თემებში ისე, რომ შეესაბამება ტრადიციულ საგანმანათლებლო ჩარჩოებს.
ანიმაციასა და კოდს შორის ურთიერთქმედების გასაუმჯობესებლად, აპი აერთიანებს რამდენიმე გააზრებულ ფუნქციას. ერთ-ერთი მთავარი ასპექტია კოდის ხაზგასმის ფუნქცია, რომელიც სინქრონიზებს ანიმაციას კოდის შესრულებასთან კოდის თითოეული ხაზის ხაზგასმით, შესაბამისი ანიმაციის პროგრესირებისას. გარდა ამისა, ვიზუალური ელემენტების შესავსებად, ჩართულია სუბტიტრების ფუნქცია, რომელიც უზრუნველყოფს მოკლე ახსნა-განმარტებებს ყოველი ანიმაციის ეტაპზე. აპი ასევე შეიცავს თითოეული ალგორითმისთვის დაკვრის და გადატვირთვის ფუნქციებს, რაც მომხმარებლებს საშუალებას აძლევს, შემთხვევითი მოახდინონ ტესტის შემთხვევები გადატვირთვის ღილაკით, რაც კიდევ უფრო ამარტივებს სწავლის პროცესს და აძლიერებს მომხმარებლის ჩართულობას.
რატომ ქმნით ალგორითმის ანიმაციის დიაგრამის აპს. ?
როგორც ბევრი პროგრამისტი, მე უნდა მოვამზადო დიდი დრო ალგორითმის გასაუმჯობესებლად ყოველ ჯერზე, როცა ვცვლი სამუშაოს. ძალიან კარგი, კითხვების დამუშავების პროცესში ჯერ გამოსავალი უნდა წაიკითხო. ასევე ვკითხულობ ბევრ პრობლემას დიდი ბიჭებისგან ინტერნეტში და განსაკუთრებით მომწონს ალგორითმის ანალიზის კითხვა მოძრავი სურათებით ან სქემატური დიაგრამებით, რაც უფრო სწრაფია ვიდრე ტექსტის კითხვა. ამ პროცესში ასევე დაფიქსირდა რამდენიმე პრობლემა, როგორიცაა: ანიმაცია არ არის ინტერაქტიული და არ შეიძლება შეჩერდეს; მონაცემები მკვდარია და მისი შეცვლა შეუძლებელია; მობილურზე სწავლა არ არის მოსახერხებელი და ა.შ.
დასაწყისში ვნახე კარგი ანიმაციები და გამიჩნდა დიდი სურვილი, რამდენჯერმე დამენერგა ისინი მშობლიური კოდით აპლიკაციაში. ამჯერად საბოლოოდ გადავწყვიტე და ერთბაშად გავაკეთე 70 ანიმაცია.
მესმის, რომ ამ აპლიკაციის პოზიციონირება არის ინსტრუმენტი, რომელიც დაგვეხმარება სწრაფად გავიგოთ ალგორითმის იდეები და კოდები, დაგვეხმაროს მეხსიერებას და გავაუმჯობესოთ სწავლის ეფექტურობა. მაგრამ აქ თქვენ ვერ გაგზავნით, ვერ შეასრულებთ კოდს და კოდი კვლავ უნდა აკრიფოთ კომპიუტერში, რომ უკეთ იგრძნოთ თავი.
რატომ არ არის დალაგებული leetcode-ის თანმიმდევრობით რიცხვი?
ამჟამად, ალგორითმის კითხვები კლასიფიცირებულია სამ ძირითად ბლოკად:
- დაკავშირებული სია, სტრიქონი, მასივი, ორობითი ხე;
- უკან დახევა, ხარბ, დინამიური პროგრამირება, დაყოფა და დაპყრობა;
- ცალ-ცალკე დალაგება და კლასიფიკაცია.
თითოეული კატეგორიის მიხედვით, სირთულე იყოფა მარტივ, საშუალო და მძიმედ.
პირველ რიგში, დაალაგეთ მონაცემთა სტრუქტურები და ალგორითმები ცალკე და ისწავლეთ ცოდნის ქულების მიხედვით. . მაგალითად, შეგიძლიათ კონცენტრირება მოახდინოთ ორობითი ხის სტრუქტურების ან დინამიური პროგრამირების ალგორითმების შესწავლაზე, ასე რომ კონცენტრირებული გაჯერების ტრენინგი დაგეხმარებათ სწავლის ეფექტურობის გაუმჯობესებაში. მონაცემთა სტრუქტურა პირველ რიგში მოდის, შემდეგ კი ალგორითმი, რომელიც ასევე განლაგებულია იმ თანმიმდევრობით, რომლითაც ვისწავლით თეორიულ ცოდნას.
ალგორითმების თვალსაზრისით, ამჟამად ოთხი ტიპია მოწყობილი: უკან დახევა, ხარბი, დინამიური პროგრამირება და გაყოფა-და. -დაპყრობა.
როდესაც მრავალი წლის წინ ვისწავლე მონაცემთა სტრუქტურები და ალგორითმები, პირველად შევედი კონტაქტი სხვადასხვა დახარისხების ალგორითმებთან. იმ დროს ვგრძნობდი, რომ დახარისხება ძალიან რთული იყო და ჩემზე დიდი შთაბეჭდილება მოახდინა, ამიტომ დამწყებთათვის გავაკეთე ცალკე დახარისხების კლასიფიკაცია.
ვფიქრობ, როგორ გავაერთიანოთ ანიმაცია და კოდი და სხვა ინტერაქტიული საკითხები
- ალგორითმების დამოუკიდებლად შესწავლის პროცესში ხშირად მესმის იდეები, მაგრამ ვერ ვხვდები კოდებს და ტექსტის განმარტებებში ბევრ კოდს კომენტარი არ აქვს. ამის დანახვა დიდი თავის ტკივილია. ამიტომ, აპლიკაციის ურთიერთქმედების შესახებ ფიქრისას, კოდის ხაზგასმის ფუნქცია სპეციალურად არის შემუშავებული, რაც ნიშნავს, რომ კოდის თითოეული ხაზი მონიშნული იქნება ანიმაციის პროგრესირებასთან ერთად. ამგვარად, ანიმაცია სრულდება, კოდი ხაზგასმულია და გამოიყურება მაგარი.
- მიუხედავად იმისა, რომ ანიმაცია მარტივი გასაგებია, მას მაინც სჭირდება მოკლე ახსნა-განმარტებები, ამიტომ ფუნქცია "სუბტიტრები" შექმნილია ანიმაციის ქვემოთ. ყოველ ჯერზე, როდესაც შესრულდება შესაბამისი ნაბიჯი, გამოჩნდება შესაბამისი ახსნა.
- ანიმაციის დაკვრა და გადატვირთვა, თითოეულ ალგორითმის გვერდს აქვს დაკვრის ფუნქცია, ასე რომ, როგორ მოვამზადოთ სატესტო შემთხვევები? ტესტის შემთხვევების კონცეფციის გასამარტივებლად შექმნილია ღილაკი "გადატვირთვის" ღილაკი, რაც ნიშნავს, რომ ტესტის შემთხვევები შემთხვევითია. როდესაც გსურთ შეცვალოთ მონაცემთა ნაკრები, უბრალოდ დააჭირეთ გადატვირთვას.