Algorithme et exercices de structure de données
La solution optimale au Java it célèbre algorithme d'entreprise et problème de structure de données
1. pile et file d'attente
- Concevez une pile avec une fonction getmin
- Une file d'attente de deux piles
- Comment se référer à une fonction récursive et empiler l'ordre inverse de l'opération
- File d'attente de chat et de chien
- Utilisez une pile pour implémenter le tri d'une autre pile
- Pour résoudre le problème de Hanover Tower, modifiez d'abord les règles de jeu: la limite de ligne ne peut pas être déplacée directement du plus à gauche vers le plus à droite ou du plus à droite au plus à gauche, mais doit passer au milieu. Trouvez le processus de mouvement optimal et le nombre total d'étapes lorsque la tour est à nouveau des couches.
- Générer un tableau maximum de fenêtre
- Maxtree pour la construction de données
- Compte tenu d'une carte matricielle de mise en forme, les valeurs sont 0 et 1, trouvez la zone rectangulaire maximale de 1 parmi toutes les régions matricielles où tout 1 est le nombre de 1.
- La valeur maximale moins le nombre de sous-terrains avec une valeur minimale inférieure ou égale à Num
2. Problèmes de liste de liens
- Compte tenu des pointeurs d'en-tête, Head1 et Head2 de deux listes liées ordonnées, imprimez la partie commune des deux listes liées
- Supprimez le K -th jusqu'au nœud dans des listes liées à simple et double
- Supprimer les nœuds au milieu de la liste liée et les nœuds en A / B
- Implémentez les fonctions qui inversent les listes liées à sens unique et inversent respectivement les listes liées bidirectionnelles
- Partie inverse de la liste liée à sens unique
- Problème d'Arthur avec la liste des liens unique ronds
- Déterminez si une liste liée est une structure palindromique
- Divisez la liste liée à sens unique en petite gauche, égale moyenne, grande droite
- Copiez une liste liée contenant des nœuds de pointeur aléatoires
- Deux listes liées uniques génèrent une liste de liens supplémentaires
- Une série de problèmes d'intersection deux listes liées
- Ordre inversé entre chaque K nœuds d'une seule liste liée
- Supprimer les nœuds avec des valeurs répétées dans des listes liées uniques non ordonnées
- Supprimer un nœud de valeur spécifié dans une seule liste liée
- Convertir la recherche d'arbre binaire en table de liaison bidirectionnelle
- Sélection Tri des listes liées uniques
- Une façon étrange de supprimer les nœuds
- Insérez de nouveaux nœuds dans une liste de liaison simple circulaire ordonnée
- Fusionner deux tables à liaison unique ordonnées
- Réorganiser la table unique dans la demi-zone gauche et droite
Problème d'arbre binaire
- Méthodes récursives et non recursives pour réaliser respectivement la précommande, l'ordre moyen et la traversée post-ordre des arbres binaires
- Imprimez le nœud limite de l'arbre binaire
- Comment imprimer un arbre binaire plus intuitivement
- Sérialisation et désérialisation des arbres binaires
- Méthode au niveau de Dieu pour traverser les arbres binaires
- Trouvez la longueur de chemin la plus longue de la somme accumulée pour la valeur spécifiée dans l'arbre binaire
- Trouvez le plus grand arbre binaire de recherche dans l'arbre binaire
- Trouvez la topologie maximale dans l'arbre binaire qui répond aux critères de la recherche de l'arbre binaire
- Arbre binaire par imprime de couche et imprime en zigzag
- Ajustez la recherche de deux mauvais nœuds dans l'arbre binaire
- Déterminez si l'arbre T1 contient toutes les structures topologiques de l'arbre T2
- Déterminez s'il y a des sous-arbres dans l'arbre T1 qui ont exactement la même topologie que l'arbre T2
- Déterminez si un arbre binaire est un arbre binaire équilibré
- Reconstruire l'arbre binaire de recherche en fonction du tableau post-ordre
- Déterminez si un arbre binaire est un arbre binaire de recherche et un arbre binaire complet
- Générer des arbres binaires de recherche équilibrée via des tableaux ordonnés
- Trouvez le nœud successeur d'un nœud dans l'arbre binaire
- Trouvez l'ancêtre commun le plus proche de deux nœuds dans l'arbre binaire
- L'algorithme de Tarjan et l'ensemble de recherche simultanée résolvent le problème de la requête par lots des ancêtres publics récents entre les nœuds d'arbre binaire
- Distance maximale entre les nœuds d'arbre binaire
- Reconstruire les arbres binaires en combinaison avec la précommande, l'ordre moyen et les tableaux post-commande
- Générez des tableaux post-commande via des tableaux de précommande et d'ordre
- Statistiques et génère tous les différents arbres binaires
- Comptez le nombre de nœuds dans un arbre complètement binaire
- Subséquence incrémentielle maximale
Programmation récursive et dynamique
- Programmation récursive et dynamique des problèmes de la série Fibonacci
- Le chemin minimum vers la matrice
- Montant minimum de monnaie pour échanger de l'argent
- Comment échanger de l'argent
- La tour de Hanovre
- Le plus long problème de subséquence commun
- Le plus long problème de chaîne publique
- Coût minimum d'édition
- Composition entrelacée des cordes
- Problèmes de jeu des donjons et des dragons
- Nombre de nombres convertis en combinaisons de lettres
- Le nombre de compositions de l'expression pour obtenir le résultat souhaité
- Problème de jeu de cartes dans une ligne
- Jeu de saut
- La séquence continue la plus longue dans un tableau
- N Problème de la reine
Problème de cordes
- Déterminez si deux chaînes gardent le mot de déformation
- Somme de sous-chaînes de nombres en chaînes
- Supprimer les k sous-lamelles qui apparaissent successivement dans la chaîne
- Déterminez si deux chaînes tournent des mots
- Convertir une chaîne entière en valeur entière
- Remplacez les chaînes spécifiées qui apparaissent en continu en chaînes
- Cordons statistiques pour les cordes
- Déterminez si tous les caractères du tableau de caractères ne sont apparus qu'une seule fois
- Trouvez des chaînes dans un tableau ordonné mais vide
- Réglage et remplacement des chaînes
- Flip corde
- Distance minimale entre deux cordes dans un tableau
- Ajoutez un minimum de caractères pour faire de la chaîne comme une chaîne palindromique
- Selon la validité de la chaîne et la longueur effective maximale
- Évaluation des chaînes de formule
- Il doit y avoir un certain nombre de cordes binaires à gauche de 0
- Cousant toutes les cordes pour produire des cordes en capital avec le plus petit ordre du dictionnaire
- Trouvez la plus longue sous-chaîne non réactive de la chaîne
- Trouvez le nouveau type de personnage mentionné
- Longueur minimale contenant une sous-chaîne
- Nombre minimum de segmentation de palindrome
- Problème de correspondance des cordes
- Implémentation de l'arbre du dictionnaire (arbre préfixe)
Opération de bits
- Aucune variable supplémentaire n'est utilisée pour échanger deux nombres
- Trouvez le plus grand nombre de deux nombres sans aucune comparaison
- Seules les opérations de bits sont utilisées sans opérations arithmétiques pour mettre en œuvre l'addition, la soustraction, la multiplication et la division des entiers
- Combien de 1CCC y a-t-il dans l'expression binaire des entiers
- Trouver des nombres impairs dans un tableau où d'autres nombres apparaissent uniformément
- Trouver un nombre qui n'apparaît qu'une seule fois dans un tableau où d'autres nombres apparaissent k fois
Problèmes de tableau et de matrice
- Matrice d'impression de cercle
- Tournez la matrice carrée dans le sens des aiguilles d'une montre de 90 °
- Matrice d'impression "一" "
- Trouvez le plus petit nombre de K dans un tableau non ordonné
- La longueur la plus courte de la sous-bande à trier
- Trouvez le nombre d'occurrences supérieures à N / K dans le tableau
- Trouver des nombres dans une matrice où les lignes et les colonnes sont triées
- Le sous-tableau le plus long est obtenu
- Aucune impression répétée de tableaux triés ajoute tous les quads et triplets pour une valeur donnée
- La somme accumulée de la longueur la plus longue de sous-réseau dans un tableau de nombres positifs non triés est la valeur donnée
- Problème sur la plus longue série de sommes de sous-carreaux dans un tableau non trié
- La somme accumulée de la longueur de sous-réseau la plus longue dans un tableau non trié est inférieure ou égale à la valeur donnée
- Tri de tableaux de nombres naturels
- Les indices étranges sont tous des nombres étranges ou même des indices sont tous des nombres
- Accumulation de sous-réseau et maximum
- Problème de somme maximale de l'accumulation de la sous-matrice
- Trouvez un plus petit emplacement local dans le tableau
- Le produit cumulatif maximal des sous-terrains dans un tableau
- Imprimez les plus grands tableaux K de N
- Les limites sont toutes 1 taille carrée maximale
- Cet emplacement n'est pas inclus dans la multiplication cumulative du tableau
- Ajustement de partition
- Trouvez la valeur de chemin la plus courte
- Le plus petit entier positif qui n'apparaît pas dans le tableau
- La différence maximale entre les nombres adjacents après le tri du tableau est de 9
pratique
- Remplacer les espaces (épée pointant à offrir)
- Recherche dans un tableau bidimensionnel (épée pointant pour offrir)
- Liste des liens d'inversion (épée pointant à offrir)
- Supprimer les nœuds répétés de la liste liée (épée à offrir)
- Le nombre minimum du tableau de rotation (épée pointant vers l'offre)
- Nombres répétés dans le tableau (épée à offrir)
- Chaîne de nombre (épée pointant à offrir)