2017-03-05 1 views
-2

Kann die Zeit angezeigt werden, die für eine lineare Suche benötigt wurde, um den eingegebenen Schlüssel im Programm zu finden? Kann die Zeit angezeigt werden, die für eine lineare Suche benötigt wurde, um den eingegebenen Schlüssel im Programm zu finden?

Dies ist die Aufgabe unserer Lehrer gab uns

Anforderungen: ein C++ Programm schreiben, das die folgenden in der Reihenfolge tun: Linear Suchen 1. Stellen Sie den Benutzer zur Eingabe einer positiven Integer-Wert, die wir bezeichnen als n. Hier repräsentiert n die Größe des Problemraums, insbesondere die Anzahl der Zufallselemente. 2. Bei der linearen Suche gibt der Benutzer den Schlüssel/Wert ein, nach dem gesucht werden soll. 3. Sobald der Schlüssel/Wert gefunden wurde, wird der Wert einschließlich des Indexwerts angezeigt. 4. Es wird auch die Zeit angezeigt, die in Millisekunden gesucht wurde.

+0

Um die Frage, die Sie gestellt haben, zu beantworten, ist es möglich, die Zeit anzuzeigen, die eine lineare Suche benötigt hat, um den von Ihnen eingegebenen Schlüssel zu finden. Ich sehe hier nur drei Möglichkeiten: A) Ihr Lehrer hat der Klasse bereits erklärt, wie man die aktuelle Systemuhr und alles andere benötigt, um diese Aufgabe zu erfüllen, aber Sie waren an diesem Tag nicht im Unterricht, B) Sie waren im Unterricht, aber auch nicht habe das vorhandene Material nicht verstanden oder habe nicht darauf geachtet, oder C) Du hast einen inkompetenten Lehrer, der nicht unterrichtet. Wenn dies A oder B ist, bitte deinen Lehrer um Hilfe, das ist seine/ihre Aufgabe; wenn C Klassen wechselt. –

+0

Um Ihre Frage zu beantworten, ja. Zeigen Sie Ihre eigenen Bemühungen, diese Aufgabe selbst zu lösen. –

+0

Das Problem mit unserem Lehrer ist, dass Er uns die Codes gibt und nicht, dass wir es tun. Wir müssen lediglich seinen Code in Codeblocks übertragen. Jetzt hat er uns dieses Projekt für das Vorab gegeben, und für alle Codes, die er uns gab, ist der Code dafür nicht da. Und die Option C ist keine Wahl, das ganze 2. Jahr unserer Hochschule ist mit diesem Typ als Professor für dieses Thema –

Antwort

0

Wie in den Kommentaren der Frage angegeben, werde ich Ihnen nicht vollständig helfen, da dies ein Zuordnungsproblem ist. Hier ist der Ausgangspunkt für Ihre Arbeit. Fangen Sie an, die Bibliotheksfunktion clock() von C++ in der Kopfzeile time.h zu suchen. Das sollte deine Arbeit machen.

+0

Ich weiß das, also das ist es? Ich bin nur beunruhigt, weil es 0ms zeigt, wenn ich suche.Aufgrund seiner Erklärung basierend auf dem schlimmsten Fall der linearen Suche N = Nseconds. Wenn ich nach einem Array von 1000 Elementen suche und nach dem 999. Element suche, wird es nur als 8ms angezeigt. Fehle ich etwas? Denn das ist, was er über die Zeit gesagt hat, die eine lineare Suche nach dem benötigten Element benötigt, oder seine Anweisungen und Vorlesungen sind nur sehr schlecht. Alle von uns College-Studenten sind mit seiner Erklärung beunruhigt. Deshalb habe ich nur gefragt, ob es möglich ist und nicht der Code. Danke mein Herr. –

+0

Ich denke, Sie verwechseln mit der O (n) -Notation, d. H. Linear in Bezug auf die Eingabe. Lineare Zeit bedeutet nicht, dass, wenn es n Elemente gibt, es n ** Sekunden dauern würde ** es bedeutet, dass es n ** Einheiten ** (im schlimmsten Fall) dauern würde, wo 1 Einheit gleich der Zeit ist, nach der gesucht werden muss 1 Element. Ihr Professor könnte N Sekunden nur zu Erklärungszwecken verwendet haben, wie wenn es 10 Elemente gibt, dann müsste er im schlimmsten Fall 10 Elemente in dem Container durchqueren, was 10 Sekunden dauert, wenn eine Elementsuche 1 Sekunde dauert. Aber in Wirklichkeit dauert es weniger als 1 Sekunde. –

+0

Ich habe Ihre Hilfe und Erklärung sehr geschätzt, Sir, vielen Dank. Jetzt ist alles klar für mich. –

Verwandte Themen