ben44496 / uiuc-cs125-Praxis
On März 9, 2022 by adminUIUC CS 125 Java-Übungslösungen für den Eignungstest
Dieses Repository soll ein Werkzeug für Studenten sein, um sich auf den CS 125-Eignungstest an der UIUC vorzubereiten. Ich habe die Lösungen für die Übungsprobleme von PrarieLearn gepostet. Um dieses Repository effektiv zu nutzen, führen Sie die Probleme bitte selbst aus und beziehen Sie sich dann auf diese Anleitung, um die Konzepte und die Syntax von Java zu verstehen. Im Folgenden habe ich einen kurzen Studienführer über einige Kernkonzepte geschrieben, die in den Übungsproblemen angesprochen wurden.
Prüfungsinformationen
Das neueste Update finden Sie auf der CS 125-Kurs-Website
- Format: computerbasiert (Java)
- Länge: 3 Stunden
- Ort: CBTF
- Datum und Uhrzeit: Montag 8 / 17 / 2020 @ 9AM CT (Central Zeit), Freitag 8/21/2020 @ 1PM CT (Central Time)
- Weitere Informationen: ist auf der CS 125-Website verfügbar.
- Anmeldevorgang für Java:
- Melden Sie sich bei der CBTF Scheduling-Site an.
- Klicken Sie auf die Schaltfläche „Klasse hinzufügen“ und fügen Sie den Kurs „Eignungsprüfungen“ hinzu.
- Klicken Sie im Kurs „Eignungsprüfungen“ auf die Prüfung „CS 125“ und reservieren Sie eine Zeit.
- Melden Sie sich mit Ihrem @ bei PrairieLearn anillinois.edu e-Mail-Adresse. Studenten, die die Prüfung mit einer außeruniversitären E-Mail-Adresse ablegen, erhalten keine Gutschrift.
- Melden Sie sich für den Kurs „CS 125: Einführung in die Informatik, Eignungsprüfung“ an. Dies ist der gleiche Kurs mit den Übungsproblemen und der öffentlich verfügbaren Übungsprüfung. Sobald Sie in der CBTF sind, können Sie die offizielle Eignungsprüfung anzeigen und abschließen.
- Wenn Sie das Testzentrum besuchen, wird die Eignungsprüfung angezeigt.
Lernwerkzeuge
Sie sollten die folgenden Werkzeuge verwenden, um Ihnen beim Lernen zu helfen. Erläuterungen zu den PrarieLearn Praxis Probleme sind unten.
- YouTube Playlist
- PrarieLearn Übungsprobleme und Übungsprüfung
- APCS mutiplie Choice Probleme
Problemsätze
Diese Erklärungen gehen über Konzepte. Weitere Informationen zum Code finden Sie in den Kommentaren im Code
Übungsprobleme
- String Rotation
- Tic-Tac-Toe Check
- LastTen
- Comparable Max
- SimpleArrayList add
- SimpledLinkedList remove
- BinaryTree sum
- BinaryTree Balanced
- Einfügesortierung
- Arbeiten mit Ausnahmen
- Karten und Bäume
Übungsprüfung
PE-1. 2D Array zählen Weniger als 1-2. Strukturierte String-ANALYSEPPE-3. Klasse Design: Rechts TrianglePE-4. Vergleichbare Frettchenpe-5. Simpled verknüpfte Liste zählen NegativePE-6. Binärbaumzahl kleiner als
1. String-Rotation
Bei der String-Rotation dreht sich alles um die Verwendung der Modulo-Operation. Der Gedanke dahinter ist, dass wir zum Anfang des String
zurückkehren müssen, sobald wir bis zum letzten char
im String
gezählt haben. Der Modulo-Operator (der den Modul %
verwendet) wird syntaktisch als a % b
geschrieben und gibt den Rest zurück, wenn a
durch b
geteilt wird. Im Folgenden finden Sie einige Beispiele, um zu verstehen, warum dies nützlich ist.
5 % 2 // returns 1 because 5/2 has a remainder of 1100 % 8 // returns 410 % 5 // returns 0 This means that the divisor (5) is a multiple of the dividend (10)0 % 2 // returns 0
Wie Sie wahrscheinlich sehen können, ist es sinnvoll, diesen Operator zu verwenden, als ob wir das Zeichenarray char arr
weiter durchlaufen, einen Index erreichen, der außerhalb der Grenzen liegt, und wir müssen am Anfang von String
neu starten und es kopieren, bis wir den Index erreichen, den wir verschieben möchten.
Eine andere Implementierung namens rotateRightOptimized
von dlin2028 verwendet String
Verkettung, um das gleiche Ergebnis zu erzielen.
2. Tic-Tac-Toe Check
In dieser Übung prüfen wir, ob Tic-Tac-Toe nur in vertikaler und horizontaler Richtung gewinnt. Wir durchlaufen alle Horizontalen und dann die Vertikalen, um festzustellen, ob Übereinstimmungen vorliegen.
Anstatt nur 3 Zeilen und 3 Spalten zu durchlaufen, kann unser Code je nach Eingabearray x
Zeilen und y
Spalten durchlaufen. Wir suchen nur nach Übereinstimmungen von 3, aber es kann Übereinstimmungen von Array.length
anstelle von 3 in einer Reihe für ein x
von y
Raster aufnehmen.
Nehmen wir zum Beispiel einen Sonderfall von Connect 4 , wir würden nach counter = 4
suchen, da wir nach 4 in einer Reihe suchen. Es ist wichtig, den Code so modular zu belassen, dass er eine Vielzahl von Fällen abschließen und sich mit minimalen Änderungen an neue anpassen kann. Das Durchlaufen von „Array.length
“ -Zeiten ist viel dynamischer als das Durchlaufen einer konstanten 3
-Zeit. Wie Sie sich vorstellen können, würde das Raster, wenn wir es auf ein 4×4-Quadrat erhöhen würden, nur die ersten 3 Zeilen und 3 Spalten durchlaufen, wobei die 4. ignoriert würden. Es ist wichtig, die Skalierbarkeit, Wartbarkeit und Zuverlässigkeit Ihrer Codebasis für zukünftige Projekte zu berücksichtigen.
3. LastTen
Dies ist ziemlich einfach. Die Kommentare sollten helfen zu klären, warum der Code in dieser Form geschrieben ist. Eine Sache zu beachten ist, dass wir hier wieder den Modulo-Operator (%
) verwenden, da er uns hilft, das Array immer wieder zu durchlaufen, wenn wir unseren Index erhöhen. Unten sehen Sie ein Beispiel dafür, warum der Modulo-Operator funktionieren würde.
Dies ist unser Array, in dem wir die Zahlen 1 bis 10 nacheinander mit der Methode add()
hinzugefügt haben.
Angenommen, wir wollten die Nummer 10
hinzufügen, und als 11. Nummer würden die letzten 10 Nummern nur von 1
bis 10
reichen, sobald wir diese neue Nummer hinzufügen. Da das Problem besagt, dass wir nicht in einer bestimmten Reihenfolge zurückkehren müssen, können wir einfach 10
an die Nummer schreiben, die wir weggeworfen haben, 0
. Die Tabelle würde ungefähr so aussehen:
// add(10) adds the 11th term to the index 0
Ein Muster entsteht, wenn wir ständig mehr Zahlen schreiben. Nummer 12
würde in Index 2 gehen. Nummer 24
würde in Index 4 gehen. Nummer 549782
würde in den Index 2 gehen. Wie Sie sehen können, wird der Index durch die n % 10
-te Zeit angegeben, die wir durch das Array durchlaufen haben. Bei unserem 10. Mal würden wir uns auf dem 0. Index ausruhen, wodurch der Modulo-Operator uns hilft, den richtigen Index zu finden.
Wichtige Erwähnungen:
- Eine andere Implentation ohne den Modulo-Operator
%
ist möglich, wodurch der Zähler bei 0 neu gestartet wird, wenn der Index 10 erreicht (daArrays
von 0 bis zum n-ten – 1-Index beginnt, wobein
die Größe ist) - Eine gute Übung für zusätzliche Übung wäre die Rückgabe der letzten 10 in der Reihenfolge, wahrscheinlich unter Verwendung einer Liste / eines Stapels oder einer anderen Datenstruktur. Dies wäre eine großartige Zeit, um in die wichtige Welt der Datenstrukturen einzutauchen 🙂
PE-6. Anzahl der Binärbäume Kleiner als
Für dieses Problem ist es erforderlich, dass wir alle Elemente innerhalb des Binärbaums durchlaufen können. Die einfachste Methode, dies für einen BT zu tun, ist eine rekursive Methode.
Neueste Beiträge
- Tumble Finishing Prozess
- Ultraleichtes Fliegenfischen
- Petrologie
- Übergang von der Flasche zur Tasse
- DotLocal.org
- Der „Speed Bump“, die ideale Position, um den G-Punkt zu erreichen
- Strepsiptera
- Universitätsbibliotheken
- TOP2A-Amplifikation und -überexpression in hepatozellulären Karzinomgeweben
- Warum Sie „Danke“ anstelle von „Entschuldigung“ sagen sollten, wenn Sie etwas falsch machen
Schreibe einen Kommentar