Heim Web-Frontend js-Tutorial Zusammenfassung gängiger Beispiele für JS-Algorithmen

Zusammenfassung gängiger Beispiele für JS-Algorithmen

May 22, 2018 pm 03:03 PM
javascript 实例 汇总

Dieses Mal werde ich Ihnen eine Zusammenfassung gängiger JS-Algorithmusbeispiele geben. Was sind die Vorsichtsmaßnahmen bei der Verwendung gängiger JS-Algorithmen? Hier sind praktische Fälle.

Akkumulieren und akkumulieren

Akkumulieren: Fügen Sie einer Variablen eine Reihe von Daten hinzu. Abschließend erhält man das kumulative Ergebnis

Zum Beispiel: Berechnen Sie die kumulative Summe der Zahlen von 1 bis 100

Der Ball fällt aus großer Höhe und kehrt jedes Mal auf die Hälfte des ursprünglichen Wertes zurück. Finden Sie heraus, wann der Ball zum zehnten Mal landet.

<script>
 var h=100;
 var s=0;
 for(var i=0;i<10;i++){
  h=h/2;
  s+=h;
 }
 s=s*2+100;
</script>
Nach dem Login kopieren

Akkumulation: Multiplizieren Sie eine Reihe von Daten mit einer Variablen, um das kumulative Ergebnis zu erhalten.

Die übliche ist die Fakultät von n

var n=100;
var result= 1;
for(var i=1;i<=n;i++){
 result *=i;
}
Nach dem Login kopieren

Allgemeine Form:

Akkumulation: V +=e;

Akkumulation: v*=e;

V steht für Akkumulation und Akkumulation, e steht für Akkumulation/Akkumulationsterm

Algorithmuspunkte:

(1) Initialisierung

Initialisieren v und e

Akkumulation: v = 0;

Akkumulation: v = 1;

Initialisierung von e, wenn der Akkumulations-/Produktterm komplex ist, kann er zerlegt werden In mehrere Unterbegriffe getrennt initialisieren, wie zum Beispiel das Problem der Berechnung von Pi, wird der kumulative Begriff in drei Teile zerlegt: Symbol, Zähler und Nenner.

(2) Schleifensteuerungsbedingungen

Eine davon ist eine feste Anzahl von Malen, z. B. das Problem der Berechnung der Sprungentfernung oder das Problem der Berechnung der Summe der ersten 20 Elemente der Sequenz ,

mal Es ist nicht festgelegt, muss aber eine bestimmte Bedingung erfüllen: Das Problem der Berechnung von Pi erfordert, dass der Absolutwert des letzten Termes kleiner als 10-6 ist.

(3) Bestimmen Sie die Änderung des Akkumulations-/Produktterms

Zum Beispiel ist die Summe der ersten 20 Terme einer Sequenz die Summe des aktuellen Zählers und Nenners als zu verwenden nächster Nenner und der aktuelle Nenner als Zähler.

Ein weiteres Beispiel besteht darin, den Umfang von Pi zu ermitteln. Kehren Sie das Vorzeichen um, addieren Sie 2 zum Nenner und ermitteln Sie dann den nächsten Term.

Iteration

Die Iterationsmethode ist auch die Wurfmethode

Regel: Es kann sein Kontinuierlich verwendet Der alte Wert erhält den neuen Wert, bis wir das gewünschte Ergebnis erhalten.

So lösen Sie das Iterationsproblem

1. Finden Sie die Iterationsvariable (alter Wert)

Bestimmen Sie die Beziehung zwischen Iterationen

3 was das gewünschte Ergebnis ist (Bedingungen zum Beenden der Schleife)

(1) ist das Endergebnis zu kennen

(2) Die Anzahl der Schleifen

<script>
 /*
 * 1.接受用户输入的俩个数
 * 2.一个函数的到最大公约数
 * 3.打印这个最大公约数*/
 var num1 = Number(prompt("请输入一个数"));
 var num2 = Number(prompt("请输入一个数"));
 var result = GCD(num1,num2);
 alert(result);
 /*
 * 函数的功能:得到最大公约数
 * 函数名:GCD
 * 函数的参数:俩个整数
 * 返回值:最大公约数*/
 /*
 * 如果num1<num2则交换,确保num1是交大的
 * 计算余数
 * 当num1(除数),对num2(被除数)的余数不为0,重复一下步骤
 * num2=>num1,
 * 余数=>num2
 * 重新计算余数
 * 最终的到最大公约数,也就是num2的值*/
 function GCD(num1,num2){
  /*return0;*/
  if(num1<num2){
   var t = num1;
   num1=num2;
   num2 = t;
  }
  var remainder = num1%num2;
  while(remainder!= 0){
   num1=num2;
   num2= remainder;
   remainder=num1%num2;
  }
  returnnum2;
 }
</script>
Nach dem Login kopieren

Rekursion

Finden Sie die mathematische Regel: Berechnen Sie den Wert des nächsten Elements mithilfe der Formel, bis das gewünschte Ergebnis erzielt wird

Zum Beispiel: Ein Kaninchen gebiert: durch die ersten beiden Das Element erhält das nächste Element

<script>
 /*
 * 一般而言,兔子在出生俩个月后,就有繁殖能力
 * 一对兔子每个月能生出一对小兔子来
 * 如果所有的兔子都不死,那么一年以后总共有多少对兔子*/
 /*
 * 月份 0 1 2 3 4 5 6
 * 幼崽 1 1 1 2 3 5 8
 * 成年 0 0 1 1 2 3 5
 * 总共 1 1 2 3 5 8 13
 * */
 /*
 * 接收用户输入的月份
 * 计算兔子的对数
 * (1)如果经过的月份<2那么兔子的对数为1
 * (2)否则用初始的兔子的对数 加上 第一个月的对数为
 * 第二个月兔子的个数(an = an-1 +an-2)
 * 反复使用这个公式,计算出下个月兔子的个数一直到用户输入的月份为止
 * 打印的兔子的对数
 * */
 /* var month = Number(prompt("输入月份"));
  var sum ;
  var an =1;
  var an_1=1;
  var an_2;
  if(month < 2){
  sum=1;
  }else{
  sum=2;
  for(var i=1; i<month; i++){
  sum= an +an_1;
  an_1 =an;
  an = sum;
  }
  }
  alert(sum);*/
 /*
 * 思路2*/
 var month = Number(prompt("输入月份"));
 var rabbit = [1,1];
 for(var m=2;m<=month;m++){
  rabbit[m]=rabbit[m-1]+rabbit[m-2];
 }
 alert(rabbit[month]);
</script>
Nach dem Login kopieren

Die Rekursion ist in Vorwärts- und Rückwärtsbewegung unterteilt.

Erschöpfung

Wenn Sie auf ein Problem stoßen und keine bessere Lösung finden können (keine mathematische Formel oder Regel finden), Verwenden Sie die „dümmste“ Methode, nutzen Sie die hohe Rechengeschwindigkeit von Computern, listen Sie alle Möglichkeiten auf

und notieren Sie die Ergebnisse, die wir erhalten möchten

<script>
 /*
 * 公鸡一值钱5,鸡母一值钱三,鸡仔三值钱一
 * 百钱买百鸡,问公鸡,鸡母、鸡仔各几何?
 * x y z
 * x + y + z = 100
 * x*5 + y * 3 + z/3 = 100*/
 for(var cock=0;cock<=20;cock++){
  for(var hen=0;hen<=33;hen++){
   var chihen=100-cock-hen;
   if(100== cock*5+ hen*3+ chihen/3){
    document.write("公鸡一共:"+cock+"鸡母一共:"+hen+"小鸡一共:"+chihen+"<br>")
   }
  }
 }
</script>
Nach dem Login kopieren

Erschöpfende Methode. Seine Eigenschaften sind: Der Algorithmus ist einfach und das entsprechende Programm ist auch einfach, aber der Rechenaufwand ist oft groß. Der Vorteil von Computern liegt jedoch in ihrer hohen Rechengeschwindigkeit, sodass dieser Algorithmus seine Stärken maximieren und Schwächen vermeiden und oft gute Ergebnisse erzielen kann.

Fall: Es gibt eine dreistellige Zahl, die Einerstelle ist größer als die Hunderterstelle und die Hunderterstelle ist größer als die Zehnerstelle und die Summe der Stellen ist gleich dem Produkt der Multiplikation der Ziffern, finde diese drei Ziffern

Rekursion

Die sogenannte Rekursion besteht darin, sich selbst innerhalb der Funktion aufzurufen.

Um beispielsweise das faktorielle Problem zu finden, wird die Faktenfunktion innerhalb der Faktenfunktion aufgerufen

<script>
 /*计算n的阶乘*/
 function fact(n){
  if(1== n){
   return 1
  }
   return n*fact(n-1);
 }
 alert(fact(5));
</script>
Nach dem Login kopieren

Der rekursive Algorithmus ist nach herkömmlicher Denkweise sehr kompliziert zu verstehen, und die Funktionsaufrufe sind es auch Wenn Sie Schicht für Schicht verschachteln und dann Schicht für Schicht zurückgeben, können Sie Ihre Meinung auch ändern, um die Rekursion zu verstehen.

Rekursion löst eigentlich ein Problem der Größe n, indem es auf ein Problem der Größe n-1 reduziert wird. Das heißt, die Beziehung zwischen n und n-1 zu finden.

Ich glaube, dass Sie die Methode beherrschen, nachdem Sie den Fall in diesem Artikel gelesen haben. Weitere spannende Informationen finden Sie in anderen verwandten Artikeln auf der chinesischen PHP-Website!

Empfohlene Lektüre:

VeeValidate-Formularüberprüfungs-Anwendungsfallcode-Analyse im Vue-Projekt

Vue verwendet Vee-Validate. Detaillierte Erklärung der Schritte des Verifizierungsformulars

Das obige ist der detaillierte Inhalt vonZusammenfassung gängiger Beispiele für JS-Algorithmen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

Video Face Swap

Video Face Swap

Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

So implementieren Sie ein Online-Spracherkennungssystem mit WebSocket und JavaScript So implementieren Sie ein Online-Spracherkennungssystem mit WebSocket und JavaScript Dec 17, 2023 pm 02:54 PM

So implementieren Sie mit WebSocket und JavaScript ein Online-Spracherkennungssystem. Einführung: Mit der kontinuierlichen Weiterentwicklung der Technologie ist die Spracherkennungstechnologie zu einem wichtigen Bestandteil des Bereichs der künstlichen Intelligenz geworden. Das auf WebSocket und JavaScript basierende Online-Spracherkennungssystem zeichnet sich durch geringe Latenz, Echtzeit und plattformübergreifende Eigenschaften aus und hat sich zu einer weit verbreiteten Lösung entwickelt. In diesem Artikel wird erläutert, wie Sie mit WebSocket und JavaScript ein Online-Spracherkennungssystem implementieren.

WebSocket und JavaScript: Schlüsseltechnologien zur Implementierung von Echtzeitüberwachungssystemen WebSocket und JavaScript: Schlüsseltechnologien zur Implementierung von Echtzeitüberwachungssystemen Dec 17, 2023 pm 05:30 PM

WebSocket und JavaScript: Schlüsseltechnologien zur Realisierung von Echtzeit-Überwachungssystemen Einführung: Mit der rasanten Entwicklung der Internet-Technologie wurden Echtzeit-Überwachungssysteme in verschiedenen Bereichen weit verbreitet eingesetzt. Eine der Schlüsseltechnologien zur Erzielung einer Echtzeitüberwachung ist die Kombination von WebSocket und JavaScript. In diesem Artikel wird die Anwendung von WebSocket und JavaScript in Echtzeitüberwachungssystemen vorgestellt, Codebeispiele gegeben und deren Implementierungsprinzipien ausführlich erläutert. 1. WebSocket-Technologie

Verwendung von JavaScript und WebSocket zur Implementierung eines Echtzeit-Online-Bestellsystems Verwendung von JavaScript und WebSocket zur Implementierung eines Echtzeit-Online-Bestellsystems Dec 17, 2023 pm 12:09 PM

Einführung in die Verwendung von JavaScript und WebSocket zur Implementierung eines Online-Bestellsystems in Echtzeit: Mit der Popularität des Internets und dem Fortschritt der Technologie haben immer mehr Restaurants damit begonnen, Online-Bestelldienste anzubieten. Um ein Echtzeit-Online-Bestellsystem zu implementieren, können wir JavaScript und WebSocket-Technologie verwenden. WebSocket ist ein Vollduplex-Kommunikationsprotokoll, das auf dem TCP-Protokoll basiert und eine bidirektionale Kommunikation zwischen Client und Server in Echtzeit realisieren kann. Im Echtzeit-Online-Bestellsystem, wenn der Benutzer Gerichte auswählt und eine Bestellung aufgibt

So implementieren Sie ein Online-Reservierungssystem mit WebSocket und JavaScript So implementieren Sie ein Online-Reservierungssystem mit WebSocket und JavaScript Dec 17, 2023 am 09:39 AM

So implementieren Sie ein Online-Reservierungssystem mit WebSocket und JavaScript. Im heutigen digitalen Zeitalter müssen immer mehr Unternehmen und Dienste Online-Reservierungsfunktionen bereitstellen. Es ist von entscheidender Bedeutung, ein effizientes Online-Reservierungssystem in Echtzeit zu implementieren. In diesem Artikel wird erläutert, wie Sie mit WebSocket und JavaScript ein Online-Reservierungssystem implementieren, und es werden spezifische Codebeispiele bereitgestellt. 1. Was ist WebSocket? WebSocket ist eine Vollduplex-Methode für eine einzelne TCP-Verbindung.

JavaScript und WebSocket: Aufbau eines effizienten Echtzeit-Wettervorhersagesystems JavaScript und WebSocket: Aufbau eines effizienten Echtzeit-Wettervorhersagesystems Dec 17, 2023 pm 05:13 PM

JavaScript und WebSocket: Aufbau eines effizienten Echtzeit-Wettervorhersagesystems Einführung: Heutzutage ist die Genauigkeit von Wettervorhersagen für das tägliche Leben und die Entscheidungsfindung von großer Bedeutung. Mit der Weiterentwicklung der Technologie können wir genauere und zuverlässigere Wettervorhersagen liefern, indem wir Wetterdaten in Echtzeit erhalten. In diesem Artikel erfahren Sie, wie Sie mit JavaScript und WebSocket-Technologie ein effizientes Echtzeit-Wettervorhersagesystem aufbauen. In diesem Artikel wird der Implementierungsprozess anhand spezifischer Codebeispiele demonstriert. Wir

Einfaches JavaScript-Tutorial: So erhalten Sie den HTTP-Statuscode Einfaches JavaScript-Tutorial: So erhalten Sie den HTTP-Statuscode Jan 05, 2024 pm 06:08 PM

JavaScript-Tutorial: So erhalten Sie HTTP-Statuscode. Es sind spezifische Codebeispiele erforderlich. Vorwort: Bei der Webentwicklung ist häufig die Dateninteraktion mit dem Server erforderlich. Bei der Kommunikation mit dem Server müssen wir häufig den zurückgegebenen HTTP-Statuscode abrufen, um festzustellen, ob der Vorgang erfolgreich ist, und die entsprechende Verarbeitung basierend auf verschiedenen Statuscodes durchführen. In diesem Artikel erfahren Sie, wie Sie mit JavaScript HTTP-Statuscodes abrufen und einige praktische Codebeispiele bereitstellen. Verwenden von XMLHttpRequest

Erfahren Sie Best-Practice-Beispiele für die Zeigerkonvertierung in Golang Erfahren Sie Best-Practice-Beispiele für die Zeigerkonvertierung in Golang Feb 24, 2024 pm 03:51 PM

Golang ist eine leistungsstarke und effiziente Programmiersprache, mit der sich verschiedene Anwendungen und Dienste entwickeln lassen. In Golang sind Zeiger ein sehr wichtiges Konzept, das uns helfen kann, Daten flexibler und effizienter zu verwalten. Die Zeigerkonvertierung bezieht sich auf den Prozess der Zeigeroperation zwischen verschiedenen Typen. In diesem Artikel werden anhand konkreter Beispiele die Best Practices der Zeigerkonvertierung in Golang erläutert. 1. Grundkonzepte In Golang hat jede Variable eine Adresse, und die Adresse ist der Speicherort der Variablen im Speicher.

JavaScript und WebSocket: Aufbau eines effizienten Echtzeit-Bildverarbeitungssystems JavaScript und WebSocket: Aufbau eines effizienten Echtzeit-Bildverarbeitungssystems Dec 17, 2023 am 08:41 AM

JavaScript ist eine in der Webentwicklung weit verbreitete Programmiersprache, während WebSocket ein Netzwerkprotokoll für die Echtzeitkommunikation ist. Durch die Kombination der leistungsstarken Funktionen beider können wir ein effizientes Echtzeit-Bildverarbeitungssystem erstellen. In diesem Artikel wird erläutert, wie dieses System mithilfe von JavaScript und WebSocket implementiert wird, und es werden spezifische Codebeispiele bereitgestellt. Zunächst müssen wir die Anforderungen und Ziele des Echtzeit-Bildverarbeitungssystems klären. Angenommen, wir haben ein Kameragerät, das Bilddaten in Echtzeit sammeln kann

See all articles