8 dépôts
Algorithms for reorganizing array elements into specific patterns that are not strictly sorted.
Distinct from Sorting Algorithms: Distinct from Sorting Algorithms: creates a specific 'wiggle' pattern rather than a monotonically increasing or decreasing order.
Explore 8 awesome GitHub repositories matching software engineering & architecture · Array Rearrangement Algorithms. Refine with filters or upvote what's useful.
This project is a curated educational resource and solution repository for algorithmic challenges, specifically focused on LeetCode problems. It serves as a technical reference for common data structures and algorithmic patterns, providing verified code implementations across multiple programming languages alongside detailed logic and complexity analysis. The repository functions as a comprehensive study guide for competitive programming and technical interview preparation. It includes specialized learning tools such as an Anki flashcard dataset for spaced repetition and a browser extension t
The project rearranges an integer array into an alternating sequence of smaller and larger elements.
This project is a library of source code implementations designed to solve algorithmic challenges and mathematical problems. It serves as a collection of solved LeetCode problems, providing a reference for data structure usage and efficient logic. The repository is a polyglot code collection, implementing the same algorithmic logic across various programming environments, including general-purpose languages, SQL for database queries, and Bash for shell scripting. The content covers a broad range of computational tasks, including data querying, text processing, and the implementation of compl
Rearranges integers so that all even elements appear before all odd elements using a two-pointer approach.
AISystem is a comprehensive AI full-stack infrastructure project covering the entire pipeline from AI chip architecture to high-level training frameworks. It encompasses the development of AI compiler frameworks, inference engines, and distributed training orchestrators designed to coordinate workloads across a heterogeneous compute stack of CPUs, GPUs, and NPUs. The project focuses on the deep integration of software and hardware, employing software-hardware co-design to align tensor layouts with physical memory structures. It provides specialized capabilities for accelerating Transformer mo
Provides dedicated hardware acceleration for tensor operations such as transposition and reduction.
This is a collection of classic computer science algorithms and data structures implemented from scratch in JavaScript. The project provides reference implementations of fundamental concepts including sorting algorithms, binary search, linked lists, and binary search trees, all built as standalone pure functions with no external dependencies. The implementations cover a range of data structures, including singly-linked, doubly-linked, and circular linked lists with full traversal and mutation operations, as well as binary search trees supporting insertion, deletion, and search. Sorting algori
Implements classic sorting algorithms such as bubble sort and selection sort for array ordering.
Flashlight est une bibliothèque de machine learning et de tenseurs autonome en C++ utilisée pour construire et entraîner des réseaux de neurones. Elle fonctionne comme un framework complet de réseaux de neurones et un moteur de différenciation automatique, fournissant les outils pour construire des graphes de calcul et calculer les gradients via la rétropropagation. Le projet sert de framework d'entraînement distribué, utilisant des opérations all-reduce pour synchroniser les gradients et les paramètres sur plusieurs nœuds de calcul et appareils. Il se distingue par une intégration profonde de la manipulation de tenseurs haute performance, l'interopérabilité native de la mémoire des appareils et un système pour synchroniser les poids entre les workers distribués afin d'accélérer l'entraînement de modèles à grande échelle. Le framework couvre un large éventail de capacités de deep learning, incluant la composition modulaire de couches pour concevoir des architectures complexes comme des blocs résiduels et des cellules récurrentes. Il fournit des utilitaires étendus de gestion de données pour l'ingestion et le préchargement, ainsi que des systèmes de sérialisation pour persister les états de modèle. De plus, il inclut une suite d'outils de surveillance et d'observabilité pour suivre les métriques d'entraînement et mesurer les erreurs de séquence. La bibliothèque est implémentée en C++.
Rearranges tensor axes to change shape while maintaining data contiguity.
Flashlight est une bibliothèque de machine learning en C++ et un framework de deep learning conçu pour construire et entraîner des réseaux de neurones. Il fonctionne comme une bibliothèque de manipulation de tenseurs et un moteur de différenciation automatique qui suit les opérations pour calculer les gradients via la rétropropagation pour l'optimisation des modèles. Le projet se distingue par son rôle de framework d'entraînement distribué, utilisant la synchronisation de gradient all-reduce et des environnements distribués pour mettre à l'échelle les charges de travail de machine learning sur plusieurs nœuds et appareils. Il dispose d'une interface mémoire agnostique au backend et d'une gestion basée sur RAII pour découpler les opérations sur tenseurs du matériel physique. Le framework couvre une large surface de capacités, incluant la construction d'architectures de réseaux de neurones avec des couches convolutionnelles, linéaires et récurrentes. Il fournit des utilitaires étendus pour l'algèbre tensorielle, la gestion et le batching de jeux de données, la sérialisation binaire versionnée pour les états de modèle, et des outils de surveillance pour suivre les métriques d'entraînement et l'utilisation de la mémoire.
Provides operations to rearrange tensor axes and change data layout while preserving memory continuity.
Ce projet est une bibliothèque d'algorithmes de tri JavaScript et une ressource pédagogique de programmation. Il fournit une collection d'implémentations de tri classiques conçues pour enseigner la logique derrière les techniques courantes de classement de données. Le projet sert de guide de référence technique, offrant des implémentations de diverses méthodes de tri accompagnées d'explications sur leur complexité temporelle et spatiale. Il se concentre sur l'application des modèles fondamentaux de l'informatique dans un environnement JavaScript. La bibliothèque couvre un large éventail d'algorithmes de tri, notamment les méthodes basées sur la comparaison comme le tri rapide (quicksort), le tri fusion (merge sort) et le tri par tas (heapsort), ainsi que des techniques basées sur la distribution comme le tri par base (radix sort) et le tri par seaux (bucket sort). Elle inclut également des implémentations itératives de base comme le tri à bulles (bubble sort) et le tri par insertion (insertion sort).
Provides a comprehensive library of classic array sorting algorithms for educational and practical use.
xtensor is a C++ multidimensional array library for numerical computing that provides N-dimensional containers with an interface mirroring the NumPy API. It utilizes a lazy evaluation expression engine to defer numerical computations until assignment, which minimizes memory allocations and intermediate copies. The library features a foreign memory array adaptor that allows it to wrap external buffers, such as NumPy arrays, to perform numerical operations in-place without duplicating data. It further optimizes performance through lazy broadcasting and a system that manages the lifetime of temp
Implements tensor transposition, flipping, rolling, and rotation to change the orientation of array elements.