8 Repos
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 ist eine C++-Bibliothek für maschinelles Lernen und ein Deep-Learning-Framework zur Erstellung und zum Training neuronaler Netze. Es fungiert als Tensor-Manipulationsbibliothek und Engine für automatische Differenzierung, die Operationen verfolgt, um Gradienten via Backpropagation für die Modelloptimierung zu berechnen. Das Projekt zeichnet sich durch seine Rolle als Framework für verteiltes Training aus, das All-Reduce-Gradientensynchronisation und verteilte Umgebungen nutzt, um Machine-Learning-Workloads über mehrere Nodes und Geräte hinweg zu skalieren. Es verfügt über eine Backend-agnostische Speicherschnittstelle und RAII-basiertes Management, um Tensor-Operationen von der physischen Hardware zu entkoppeln. Das Framework deckt ein breites Funktionsspektrum ab, einschließlich der Konstruktion neuronaler Netzwerkarchitekturen mit konvolutiven, linearen und rekurrenten Schichten. Es bietet umfangreiche Utilities für Tensor-Algebra, Dataset-Management und Batching, versionierte Binärserialisierung für Modellzustände sowie Überwachungswerkzeuge zur Verfolgung von Trainingsmetriken und Speicherauslastung.
Provides operations to rearrange tensor axes and change data layout while preserving memory continuity.
Flashlight ist eine eigenständige C++-Bibliothek für maschinelles Lernen und Tensor-Berechnungen, die zum Erstellen und Trainieren neuronaler Netze verwendet wird. Sie fungiert als umfassendes Framework für neuronale Netze und Engine für automatische Differenzierung und bietet Werkzeuge zur Konstruktion von Berechnungsgraphen und zur Berechnung von Gradienten via Backpropagation. Das Projekt dient als Framework für verteiltes Training und nutzt All-Reduce-Operationen zur Synchronisation von Gradienten und Parametern über mehrere Rechenknoten und Geräte hinweg. Es zeichnet sich durch eine tiefe Integration von leistungsstarker Tensor-Manipulation, nativer Interoperabilität mit Gerätespeichern und einem System zur Synchronisation von Gewichten über verteilte Worker aus, um das Training großskaliger Modelle zu beschleunigen. Das Framework deckt eine breite Palette an Deep-Learning-Funktionen ab, einschließlich modularer Schichtkomposition für den Entwurf komplexer Architekturen wie Residual-Blöcke und rekurrente Zellen. Es bietet umfangreiche Datenmanagement-Utilities für Ingestion und Prefetching sowie Serialisierungssysteme zur Persistierung von Modellzuständen. Zusätzlich enthält es eine Suite an Überwachungs- und Observability-Tools zur Verfolgung von Trainingsmetriken und zur Messung von Sequenzfehlern. Die Bibliothek ist in C++ implementiert.
Rearranges tensor axes to change shape while maintaining data contiguity.
Dieses Projekt ist eine JavaScript-Bibliothek für Sortieralgorithmen und eine pädagogische Programmierressource. Sie bietet eine Sammlung klassischer Sortierimplementierungen, die dazu dienen, die Logik hinter gängigen Techniken zur Datenordnung zu vermitteln. Das Projekt dient als technisches Referenzhandbuch und bietet Implementierungen verschiedener Sortiermethoden zusammen mit Erklärungen zu deren Zeit- und Platzkomplexität. Es konzentriert sich auf die Anwendung grundlegender Informatikmuster innerhalb einer JavaScript-Umgebung. Die Bibliothek deckt eine breite Palette an Sortieralgorithmen ab, einschließlich vergleichsbasierter Methoden wie Quicksort, Mergesort und Heapsort sowie verteilungsbasierter Techniken wie Radixsort und Bucketsort. Sie enthält zudem grundlegende iterative Implementierungen wie Bubblesort und Insertionsort.
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.