Სარჩევი:
ვიდეო: როგორ დავახარისხო ცალკე დაკავშირებული სია?
2024 ავტორი: Lynn Donovan | [email protected]. ბოლოს შეცვლილი: 2023-12-15 23:49
ქვემოთ მოცემულია მარტივი ჩასმა დალაგება ალგორითმი ამისთვის დაკავშირებული სია . 1) შექმენით ცარიელი დალაგებულია (ან შედეგი) სია 2) გადაკვეთეთ მოცემული სია , გააკეთეთ შემდეგი თითოეული კვანძისთვის. ა) ჩადეთ მიმდინარე კვანძი დალაგებულია გზაში დალაგებულია ან შედეგი სია . 3) შეცვალეთ თავი მოცემული დაკავშირებული სია სათავეში დალაგებულია (ან შედეგი) სია.
ამასთან დაკავშირებით, შეგიძლიათ დაალაგოთ დაკავშირებული სია?
შერწყმა დალაგება ხშირად სასურველია დაკავშირებული სიის დახარისხება . ა-ის ნელი შემთხვევითი წვდომის შესრულება დაკავშირებული სია ზოგიერთი სხვა ალგორითმი (როგორიცაა სწრაფი დახარისხება) ცუდად მუშაობს, ხოლო სხვები (როგორიცაა ჰეფსორტი) სრულიად შეუძლებელს ხდის. თავი იყოს პირველი კვანძი დაკავშირებული სია უნდა იყოს დალაგებული და headRef იყოს მაჩვენებელი ხელმძღვანელისკენ.
მეორეც, როგორ დაალაგებთ დაკავშირებულ სიას ბუშტების დალაგების გამოყენებით? ბუშტების დალაგების შესასრულებლად, ჩვენ მივყვებით შემდეგ ნაბიჯებს:
- ნაბიჯი 1: შეამოწმეთ, არის თუ არა მონაცემები 2 მიმდებარე კვანძზე აღმავალი თანმიმდევრობით. თუ არა, შეცვალეთ 2 მიმდებარე კვანძის მონაცემები.
- ნაბიჯი 2: გავლის 1-ის ბოლოს, ყველაზე დიდი ელემენტი იქნება სიის ბოლოს.
- ნაბიჯი 3: ჩვენ ვწყვეტთ ციკლს, როდესაც ყველა ელემენტი დაიწყება.
უბრალოდ, როგორ ახარისხებთ მონაცემებს დაკავშირებულ სიაში?
ალგორითმი
- შექმენით კლასის კვანძი, რომელსაც აქვს ორი ატრიბუტი: მონაცემები და შემდეგი.
- შექმენით სხვა კლასის SortList, რომელსაც აქვს ორი ატრიბუტი: თავი და კუდი.
- addNode() დაამატებს ახალ კვანძს სიაში:
- sortList() დაალაგებს სიის კვანძებს ზრდადი თანმიმდევრობით.
- display() აჩვენებს სიაში არსებულ კვანძებს:
როგორ დავახარისხო დაკავშირებული სია ანბანურად?
დახარისხება სიმებიანი LinkedList ჯავაში მარტივია. Შენ შეგიძლია დალაგება სიმებიანი LinkedList აღმავალში ანბანური თანმიმდევრობა გამოყენებით დალაგება ( სია სია ). Ასევე შეგიძლიათ დალაგება სიმებიანი LinkedList დაღმავალში ანბანური თანმიმდევრობა გამოყენებით დალაგება ( სია სია , შედარება გ).
გირჩევთ:
როგორ დავახარისხო დაკავშირებული სია ანბანურად?
სტრიქონის LinkedList-ის დახარისხება Java-ში მარტივია. თქვენ შეგიძლიათ დაალაგოთ სტრიქონი LinkedList აღმავალი ანბანური თანმიმდევრობით sort(List list) გამოყენებით. თქვენ ასევე შეგიძლიათ დაალაგოთ სტრიქონი LinkedList კლებადობით ანბანური თანმიმდევრობით sort(List list, Comparator c) გამოყენებით
რა არის ორმაგად დაკავშირებული სია მონაცემთა სტრუქტურაში მაგალითით?
ორმაგად დაკავშირებული სია არის დაკავშირებული სიის ტიპი, რომელშიც თითოეულ კვანძს, გარდა მონაცემების შენახვისა, აქვს ორი ბმული. პირველი ბმული მიუთითებს სიის წინა კვანძზე, ხოლო მეორე ბმული მიუთითებს სიის შემდეგ კვანძზე
როგორ ადარებს ორმაგად დაკავშირებული სია DLL ერთ დაკავშირებულ სიას SLL)?
ორმაგად დაკავშირებული სიის შესავალი: ორმაგად დაკავშირებული სია (DLL) შეიცავს დამატებით მაჩვენებელს, რომელსაც ჩვეულებრივ უწოდებენ წინა მაჩვენებელს, შემდეგ მაჩვენებელთან და მონაცემებთან ერთად, რომლებიც იქ არის ცალკე დაკავშირებულ სიაში. SLL-ს აქვს კვანძები მხოლოდ მონაცემთა ველით და შემდეგი ბმული ველით. DLL იკავებს მეტ მეხსიერებას, ვიდრე SLL, რადგან მას აქვს 3 ველი
როგორ წაშალოთ წრიული დაკავშირებული სია?
წაშლა წრიული დაკავშირებული სიიდან თუ სია ცარიელი არ არის, ჩვენ განვსაზღვრავთ ორ მაჩვენებელს curr და prev და ინიციალიზაციას ვაკეთებთ მაჩვენებლის curr-ს სათავე კვანძთან. გადაკვეთეთ სია curr-ის გამოყენებით, რათა იპოვოთ წაშლილი კვანძი და სანამ curr-ს შემდეგ კვანძზე გადაიტანთ, ყოველ ჯერზე დააყენეთ prev = curr. თუ კვანძი ნაპოვნია, შეამოწმეთ, არის თუ არა ის ერთადერთი კვანძი სიაში
რა არის წრიული ორმაგად დაკავშირებული სია?
წრიული ორმაგად დაკავშირებული სია არის მონაცემთა სტრუქტურის უფრო რთული ტიპი, რომელშიც კვანძი შეიცავს მითითებებს მის წინა კვანძზე, ისევე როგორც შემდეგ კვანძზე. სიის პირველი კვანძი ასევე შეიცავს ბოლო კვანძის მისამართს მის წინა მაჩვენებელში. წრიული ორმაგად დაკავშირებული სია ნაჩვენებია შემდეგ ფიგურაში