Sem II (Program I) - N8 Flashcards
Что такое структура данных?
Структура данных – это упорядочивание и/или связывание данных для их эффективного управления. Примером является массив.
Welche Nachteile haben Arrays als Datenstruktur?
Массивы статические (фиксированного размера), негибкие (доступ только через индексы), а вставка или удаление элементов в середине требует копирования элементов.
Wie unterscheiden sich dynamische Datenstrukturen von statischen?
Динамические структуры данных могут расти во время выполнения, но требуют выделения памяти во время выполнения.
Welche Bestandteile hat eine Liste als dynamische Datenstruktur?
Список состоит из двух классов: класса для определения узла и класса для определения самого списка.
Was enthält ein Knoten(узел) in einer Liste?
Узел содержит данные (например, число) и указатели, либо только на последующий элемент (одностороннее связывание), либо дополнительно на предыдущий элемент (двустороннее связывание).
Welche Vorteile bietet eine doppelt verkettete Liste?
Он позволяет осуществлять обход в обоих направлениях.
Welche Nachteile hat eine doppelt verkettete Liste?
Он требует больше места для хранения и более сложных методов, так как при манипуляциях со списком необходимо корректировать оба указателя.
Wie wird ein einfacher Knoten in Java definiert?
Посредством рекурсивного объявления класса с полями для данных (data) и следующего узла (next).
Welche Zugriffsmodifikatoren können für die Attribute eines Knotens verwendet werden?
Public: Kein Schutz.
Private: Zugriff über Getter und Setter.
Default: Schutz innerhalb des Pakets.
Elementklasse: Knoten als Teil der Listenklasse definiert.
Какие методы обычны в классе узла?
Getter (getData, getNext) und Setter (setData, setNext) für Attribute.
Was ist die Aufgabe der Listen-Klasse?
Он определяет методы для работы с узлами, такие как добавление, удаление и обход, и позволяет моделировать различные типы списков.
Wie wird eine doppelt verkettete Liste in Java implementiert?
Durch Hinzufügen eines zusätzlichen Zeigers (prev) in der Knotenklasse.
Was sind geschachtelte Klassen und wie unterscheiden sie sich von Vererbung?
Вложенные классы - это классы, определенные внутри других классов. Они не имеют отношения к наследованию, хотя могут нормально наследоваться от внешних классов.
Welche Sichtbarkeitsmodifikatoren können geschachtelte Klassen haben?
Geschachtelte Klassen können private, protected, default oder public sein.
Welche Einschränkungen gelten für Elementklassen?
Elementklassen dürfen keine statischen Elemente enthalten, außer Konstanten (static final).
Wie wird eine Instanz einer inneren Klasse erstellt?
Outer.Inner obj = outerObj.new Inner();
Was ist das LIFO-Prinzip bei einem Stack?
По принципу Last-In-First-Out (LIFO) первым удаляется последний добавленный элемент.
Welche Operationen bietet ein Stack an?
push: Fügt ein Element oben hinzu.
pop: Entfernt das oberste Element und gibt es zurück.
top (peek): Gibt das oberste Element zurück, ohne es zu entfernen.
Wie wird ein Stack als Array implementiert?
private int[] stack; private int count;
Wie wird ein Stack als Liste implementiert?
class Stack { private Node top = null; }