Tri d'insertion Travailler le code de programme Java avec l'exemple Le tri consiste à placer les éléments en ordre croissant ou décroissant. Le tri d'insertion est un algorithme de tri simple. Dans cet algorithme de tri. Le tableau trié final peut être construit un à la fois. Pour des données plus importantes. Par rapport à d'autres techniques de tri comme le tri rapide. Sorte de tas ou de fusion, il tombe court. Lire aussi: Exemple de code Java pour la génération de bulles avec l'exemple La méthode d'insertion est utile pour un petit nombre d'éléments d'entrée (moins de 1000). Vous pouvez voir en exécutant l'algorithme ci-dessous pour (Entrée) (Espace) (Temps pris) 10 éléments. Le tri d'insertion a pris 0 millisecondes 100 éléments. Type d'insertion a pris 0 millisecondes 1000 éléments. Le tri d'insertion a pris 0 millisecondes 10000 éléments. Le tri d'insertion a pris 1 millisecondes 100000 éléments. Le tri d'insertion a pris 3 millisecondes So. Vous pouvez voir qu'il n'est pas judicieux d'utiliser le tri d'insertion pour un grand nombre d'éléments car d'autres algorithmes prennent beaucoup moins de temps. Big O Notation En mots simples. Big O nous permet de dire quelque chose sur la façon dont la taille des entrées affectent le temps d'exécution d'un programme. Cette technique peut également être appliquée à d'autres ressources qu'un algorithme prend (comme la mémoire) et nous pouvons analyser d'autres limites que la limite supérieure telle Comme borne inférieure sur le temps ou l'espace ou le temps ou l'espace attendu qu'un algorithme prend. Il s'agit d'un algorithme Stable, c'est-à-dire ne modifie pas l'ordre relatif des éléments avec des clés égales. Très bas. En ligne, c'est-à-dire peut trier une liste au fur et à mesure qu'elle la reçoit. Moyenne, pires cas Meilleur cas. O (n) Cas moyen. O (n2) Pire cas. O (n2) 1.2 Types de données intégrés Un type de données est un ensemble de valeurs et un ensemble d'opérations défini sur celles-ci. Par exemple, nous connaissons les nombres et les opérations qui y sont définies, telles que l'addition et la multiplication. Il existe huit types de données intégrées dans Java, principalement des types différents de nombres. Nous utilisons le type de système pour des chaînes de caractères si fréquemment que nous le considérons aussi ici. Terminologie. Nous utilisons le fragment de code suivant pour introduire une terminologie: La première ligne est une déclaration de déclaration qui déclare les noms de trois variables à l'aide des identifiants a. B. Et c et leur type à être int. Les trois lignes suivantes sont des instructions d'affectation qui modifient les valeurs des variables, en utilisant les littéraux 1234 et 99. Et l'expression a b. Avec le résultat final que c a la valeur 1333. Caractères et chaînes. Un char est un caractère alphanumérique ou un symbole, comme ceux que vous tapez. Nous n'effectuons habituellement aucune opération sur des caractères autres que l'attribution de valeurs aux variables. Une chaîne est une séquence de caractères. L'opération la plus courante que nous exécutons sur les chaînes est connue sous le nom de concaténation. Donné deux chaînes, les chaîner ensemble pour faire une nouvelle chaîne. Par exemple, considérez le fragment de programme Java suivant: La première instruction déclare trois variables à être de type String. Les trois instructions suivantes leur attribuent des valeurs, avec le résultat final c ayant la valeur Bonjour, Bob. En utilisant la concaténation de chaîne, Ruler. java imprime les longueurs relatives des subdivisions sur une règle. Entiers. Un int est un entier (nombre entier) entre moins2 31 et 2 31 moins 1 (moins2 147 483 648 à 2 147 483 647). Nous utilisons int s souvent non seulement parce qu'ils se produisent fréquemment dans le monde réel, mais aussi ils surgissent naturellement lors de l'expression des algorithmes. Les opérateurs arithmétiques standard pour l'addition, la multiplication et la division, pour les nombres entiers sont intégrés dans Java, comme illustré dans IntOps. java et le tableau suivant: Nœuds flottants. Le double type est destiné à représenter des nombres à virgule flottante, par ex. Pour utilisation dans des applications scientifiques. La représentation interne est comme la notation scientifique, de sorte que nous pouvons calculer avec des nombres réels dans une gamme énorme. Nous pouvons spécifier un nombre en virgule flottante en utilisant soit une chaîne de chiffres avec un point décimal, p. Ex. 3.14159 pour une approximation à six chiffres de la constante mathématique pi, ou avec une notation comme une notation scientifique, p. Ex. 6.022E23 pour Avogadros constante 6.022 fois 10 23. Les opérateurs arithmétiques standard pour l'addition, la multiplication et la division, pour les doubles sont intégrés à Java, comme illustré dans DoubleOps. java et le tableau suivant: Quadratic. java montre l'utilisation des doubles dans le calcul Les deux racines d'une équation quadratique utilisant la formule quadratique. Booleans. Le type booléen n'a que deux valeurs: true ou false. La simplicité apparente est trompeuse, les dothbooleans étant à la base de l'informatique. Les opérateurs les plus importants définis pour le booléen sont pour et. ou . et pas . et . A b est vrai si a et b sont vrais et faux sinon. ou . A b est vrai si a ou b est vrai (ou les deux sont vrais), et faux sinon non. A est vrai si a est faux, et false sinon. Bien que ces définitions soient intuitives et faciles à comprendre, il vaut la peine de spécifier chaque possibilité pour chaque opération dans une table de vérité. Comparaisons. Les opérateurs de comparaison sont des opérations de type mixte qui prennent des opérandes d'un type (par exemple int ou double) et produisent un résultat de type booléen. Ces opérations jouent un rôle crucial dans le processus de développement de programmes plus sophistiqués. LeapYear. java teste si un entier correspond à une année bissextile dans le calendrier grégorien. Méthodes de bibliothèque et API. De nombreuses tâches de programmation impliquent l'utilisation de méthodes de bibliothèque Java en plus des opérateurs intégrés. Une interface de programmation d'application est un tableau résumant les méthodes dans une bibliothèque. Impression de chaînes sur la fenêtre du terminal. Conversion de chaînes en types primitifs. Fonctions mathématiques. Vous pouvez appeler une méthode en tapant son nom suivi des arguments. Entre parenthèses et séparées par des virgules. Voici quelques exemples: Nous nous trouvons souvent à convertir des données d'un type à un autre en utilisant l'une des approches suivantes. Type de conversion. Nous nous trouvons souvent à convertir des données d'un type à un autre en utilisant l'une des approches suivantes. Conversion de type explicite. Appelez méthodes telles que Math. round (). Integer. parseInt (). Et Double. parseDouble (). Conversion automatique de type. Pour les types numériques primitifs, le système effectue automatiquement la conversion de type lorsque nous utilisons une valeur dont le type a une plus grande plage de valeurs que prévu. Mélanges explicites. Java possède également certaines méthodes de conversion de type intégrées pour les types primitifs que vous pouvez utiliser lorsque vous êtes conscient que vous risquez de perdre des informations, mais vous devez faire votre intention en utilisant quelque chose appelé un cast. RandomInt. java lit un argument de ligne de commande entier n et imprime un entier aléatoire compris entre 0 et n moins1. Conversions automatiques pour les chaînes. Le type incorporé String obéit à des règles spéciales. Une de ces règles spéciales est que vous pouvez facilement convertir n'importe quel type de données en String en utilisant l'opérateur. Supposons que a et b soient des valeurs int. Que fait la séquence d'instructions suivante? Solution. Définit a. B. Et t égal à la valeur initiale de a. Supposons que a et b soient des valeurs int. Simplifiez l'expression suivante: ((a b)) Solution. (A b) L'opérateur exclusif ou opérateur pour les opérandes booléens est défini comme vrai s'ils sont différents, false s'ils sont identiques. Donnez une table de vérité pour cette fonction. Pourquoi 103 donnent 3 et non 3.33333333. Solution . Puisque 10 et 3 sont des littéraux entiers, Java ne voit pas la nécessité de conversion de type et utilise la division entière. Vous devriez écrire 10.03.0 si vous voulez dire que les chiffres sont des doubles littéraux. Si vous écrivez 103.0 ou 10.03. Java implique la conversion pour obtenir le même résultat. Ce que chacun des suivants imprime System. out. println (2 bc) imprime: 2bc System. out. println (2 3 bc) imprime: 5bc System. out. println ((23) bc) imprime: 5bc System. out. Println (bc (23)) imprime: bc5 System. out. println (bc 2 3) imprime: bc23 Explique chaque résultat. Expliquez comment utiliser Quadratic. java pour trouver la racine carrée d'un nombre. Solution . Pour trouver la racine carrée de c, trouver les racines de x2 0x - c. Un étudiant en physique obtient des résultats inattendus lorsque vous utilisez le code pour calculer les valeurs selon la formule F G m 1 m 2 r 2. Expliquez le problème et corrigez le code. Solution . Il divise par r. Puis multiplie par r (au lieu de diviser par r r). Utilisez des parenthèses: Écrivez un programme Distance. java qui prend deux arguments de ligne de commande entiers x et y et imprime la distance euclidienne du point (x. Y) à l'origine (0, 0). Rédigez un programme SumOfTwoDice. java qui imprime la somme de deux entiers aléatoires entre 1 et 6 (comme ceux que vous obtenez lors du dé rodage). Écrire un programme SpringSeason. java qui prend deux valeurs int m et d de la ligne de commande et imprime vrai si le jour d du mois m est entre le 20 mars (m 3, d 20) et le 20 juin (m 6, d 20), faux autrement. Exercices créatifs Refroidissement éolien. Compte tenu de la température t (en Fahrenheit) et de la vitesse du vent v (en miles par heure), le service météorologique national définit la température effective (le refroidissement éolien): w 35.74 0.6215 t (0.4275 t - 35.75) v 0.16 Écrivez a Programme WindChill. java qui prend deux arguments de ligne de commande double t et v et imprime le refroidissement éolien. Utilisez Math. pow (a, b) pour calculer a b. Remarque: la formule n'est pas valide si t est supérieur à 50 en valeur absolue ou si v est supérieur à 120 ou inférieur à 3 (vous pouvez supposer que les valeurs que vous obtenez sont dans cette plage). Coordonnées polaires. Ecrire un programme CartesianToPolar. java qui convertit des coordonnées cartésiennes en coordonnées polaires. Votre programme doit prendre deux nombres réels x et y sur la ligne de commande et imprimer les coordonnées polaires r et theta. Utilisez la méthode Java Math. atan2 (y, x). Qui calcule la valeur arctangente de yx qui se trouve dans la plage allant de - pi à pi. Jour de la semaine. Écrire un programme DayOfWeek. java qui prend une date comme entrée et imprime le jour de la semaine sur laquelle la date tombe. Votre programme doit prendre trois arguments de ligne de commande: m (mois), d (jour) et y (année). Pour m utiliser 1 pour janvier, 2 pour février, et ainsi de suite. Pour la sortie imprimer 0 pour dimanche, 1 pour lundi, 2 pour mardi, et ainsi de suite. Utilisez les formules suivantes pour le calendrier grégorien (où désigne la division entière): y 0 y moins (14 moins m) 12 xy 0 y 0 4 moins y 0 100 y 0 400 m 0 m 12 fois ((14 moins m) 12 ) Moins 2 d 0 (dx 31 m 0 12) mod 7 Par exemple, sur quel jour de la semaine était le 2 août 1953 nombres aléatoires uniformes. Écrivez un programme Stats5.java qui imprime cinq valeurs aléatoires uniformes entre 0 et 1, leur valeur moyenne et leur valeur minimale et maximale. Utilisez Math. random (). Math. min (). Et Math. max (). Trois-sort. Ecrire un programme ThreeSort. java qui prend trois valeurs int de la ligne de commande et les imprime en ordre croissant. Utilisez Math. min () et Math. max (). Courbes de dragon. Ecrire un programme Dragon. java pour imprimer les instructions pour dessiner les courbes dragon de l'ordre 0 à 5. Les instructions sont des chaînes de caractères F. L. Et R. Où F signifie tirer la ligne en déplaçant 1 unité vers l'avant, L signifie tourner à gauche, et R signifie tourner à droite. Une courbe de dragon d'ordre n est formée lorsque vous pliez une bande de papier en demi n fois, puis déroulez à angle droit. La clé pour résoudre ce problème est de noter qu'une courbe d'ordre n est une courbe d'ordre n moins1 suivie d'une L suivie d'une courbe d'ordre n moins1 parcourue en sens inverse, puis de trouver une description similaire de l'inverse courbe. Web Exercices Ecrire un programme Swap. java qui prend deux arguments de ligne de commande entiers a et b et échange ses valeurs en utilisant l'idiome de permutation décrit à la p. 17. Après chaque instruction d'affectation, utilisez System. out. println () pour imprimer une trace des variables. Que fait l'énoncé suivant lorsque grade est une variable de type int. Solution . Erreur de syntaxe depuis
No comments:
Post a Comment