¿Bienvenido a mis estructuras de datos y repositorio de algoritmo? Aquí, encontrará una colección curada de programas implementados en Java, Python y C ++. Estos programas cubren una amplia gama de estructuras y algoritmos de datos, incluidos, entre otros, matrices, listas vinculadas, árboles, gráficos, algoritmos de clasificación, técnicas de búsqueda y programación dinámica.
Ya sea que sea un principiante que busque comprender los fundamentos o un programador experimentado con el objetivo de reforzar sus habilidades, este repositorio está diseñado para atender a todos los niveles de especialización. Cada programa viene con explicaciones detalladas y comentarios de código para ayudar en su comprensión.
Al explorar este repositorio, profundizará su comprensión de cómo funcionan las estructuras de datos, aprenderán varios algoritmos y se convertirá en competente en la implementación de ellos utilizando Java, Python o C ++. Puede usar estos programas como referencia, material de estudio o incluso como punto de partida para sus propios proyectos.
Así que profundiza en nuestra colección y emprende un viaje de descubrimiento y aprendizaje. Afleja sus habilidades de resolución de problemas, obtenga información sobre prácticas de codificación eficientes y fortalezca su comprensión de conceptos cruciales en el mundo de las estructuras y algoritmos de datos. ¡Feliz codificación! :)
️ Si encuentra útil mi repositorio o si le gusta, considere darle una estrella. Su apoyo me anima a seguir trabajando en ello y mejorar su funcionalidad. ¡Gracias! ️
Comience explorando los problemas existentes en el repositorio e identifique un problema en el que esté interesado o algo en lo que desea trabajar que aún no esté allí.
Si la función o la solución de errores en la que desea trabajar no está presente como un problema, cree un nuevo problema para ello. Explique claramente el problema o la solicitud de función y espere a que se le asigne.
Una vez que se le asigne el problema, comience a trabajar en él. Si hay un problema existente relacionado con el tema elegido, asegúrese de que se le asigne antes de continuar.
Bifurca el repositorio:
a. Vaya al sitio web del repositorio (por ejemplo, GitHub) y haga clic en el botón "Hornear".
b. Esto creará una copia del repositorio en su cuenta GitHub.
Clon el repositorio bifurcado:
a. Abra un terminal y navegue a la ubicación donde desea almacenar el repositorio.
b. Use el comando Git Clone seguido de la URL del repositorio bifurcado para crear una copia local.
Crea una nueva rama:
a. Cambie al directorio del repositorio utilizando el terminal.
b. Cree una nueva rama utilizando el comando Git Checkout -B Branch -Name.
do. Reemplace el "nombre de la rama" con un nombre descriptivo para su rama (por ejemplo, "Surk-Binary-Search").
Agregue su código:
a. Escriba su estructura de datos o código de algoritmo en la carpeta apropiada.
b. Incluya comentarios que expliquen su enfoque, complejidad del tiempo y complejidad del espacio.
do. Proporcione una entrada y salida de muestra para demostrar la funcionalidad de su código.
d. Agregue comentarios para aclarar para explicar la lógica y cualquier paso importante.
Asegúrese de que su estilo de código coincida con el estilo del repositorio:
a. Revise el código existente en el repositorio para comprender el estilo preferido.
b. Siga las convenciones de nombres establecidas, la sangría y el formato.
do. Utilice los nombres de funciones y variables significativas que transmitan el propósito del código.
Pon a prueba tu código:
a. Verifique que su código sea correcto ejecutando casos de prueba relevantes.
b. Asegúrese de que todas las entradas de muestra produzcan las salidas esperadas.
do. Considere los casos de borde y manejalos adecuadamente, si corresponde.
Comprometer y presionar sus cambios:
a. Use Git Add -A para organizar todos los cambios que realizó.
b. Ejecute Git Commit -M "Breve descripción de sus cambios" para confirmar sus cambios.
do. Finalmente, use el nombre de la rama de origen Git Push para empujar sus cambios al repositorio bifurcado.
Cree una solicitud de extracción:
a. Vaya al repositorio bifurcado en el sitio web (por ejemplo, GitHub).
b. Haga clic en el botón "nueva solicitud de extracción".
do. Seleccione el repositorio original del menú desplegable del repositorio base.
d. Elija su rama en el menú desplegable "Comparar".
mi. Proporcione un título descriptivo y una descripción detallada para su solicitud de extracción, incluido el número de emisión.
F. Haga clic en el botón "Crear solicitud de extracción" para enviar sus cambios para su revisión.
Comentarios de revisión y dirección:
a. Monitoree la solicitud de extracción de cualquier retroalimentación o sugerencia del mantenedor.
b. Haga los cambios necesarios en su código en función de los comentarios recibidos.
do. Comprometer y empujar los cambios a la misma rama.
Espere la aprobación:
a. El mantenedor revisará su código y aprobará o proporcionará comentarios adicionales.
b. Una vez aprobados, sus cambios se fusionarán en el repositorio principal.
Una vez aprobado, su código se fusionará en el repositorio principal. ¡Felicitaciones por su contribución!
Para la contribución en C ++
/*
Approach:
- Explain the general approach or algorithm behind the code in brief.
Time Complexity: O(n)
- Explain the time complexity of the code.
Space Complexity: O(1)
- Explain the space complexity of the code.
Sample Input:
- Provide an example input.
Sample Output:
- Provide the expected output for the given input.
*/
# include < iostream >
using namespace std ;
int main () {
// Main function to test the code
return 0 ;
}Para la contribución en Java
/*
Approach:
- Explain the general approach or algorithm behind the code in brief.
Time Complexity: O(n)
- Explain the time complexity of the code.
Space Complexity: O(1)
- Explain the space complexity of the code.
Sample Input:
- Provide an example input.
Sample Output:
- Provide the expected output for the given input.
*/
public class CodeExample {
public static void main ( String [] args ) {
// Main function to test the code
}
}Para la contribución en Python
'''
Approach:
- Explain the general approach or algorithm behind the code in brief.
Time Complexity: O(n)
- Explain the time complexity of the code.
Space Complexity: O(1)
- Explain the space complexity of the code.
Sample Input:
- Provide an example input.
Sample Output:
- Provide the expected output for the given input.
'''
def code_example ():
# Function to implement the code logic
pass
if __name__ == "__main__" :
code_example () # Call the function to test the codeNota: debe reemplazar los comentarios con la explicación real, las complejidades, la entrada de la muestra, la salida y la lógica del código según sus requisitos específicos.