stringtranslate.com

Discusión del usuario:Maju wiki


¡Bienvenido!

Hola, Maju wiki, y bienvenido a Wikipedia. Gracias por tus contribuciones . Espero que te guste el lugar y decidas quedarte. Lamentablemente, es posible que una o más de las páginas que creaste, como TortoiseBzr , no cumplan con algunas de las pautas de Wikipedia para la creación de páginas y que se eliminen pronto.

También puede considerar la posibilidad de utilizar un asistente para crear artículos. Consulte el Asistente para artículos .

Gracias.

Hay una página sobre cómo crear artículos que quizás quieras leer llamada Tu primer artículo . Si estás estancado y buscas ayuda, visita la página de ayuda para nuevos colaboradores , donde los wikipedistas experimentados pueden responder a cualquier pregunta que tengas. O bien, puedes escribir en esta página y alguien aparecerá en breve para responder a tus preguntas. Aquí tienes algunos otros enlaces útiles para los recién llegados:{{helpme}}

Espero que disfrutes editando aquí y siendo un wikipedista . Firma tu nombre en las páginas de discusión usando cuatro tildes (~~~~); esto producirá automáticamente tu nombre y la fecha. Si tienes alguna pregunta, consulta Wikipedia:Dónde hacer una pregunta o pregúntame en mi página de discusión. ¡De nuevo, bienvenido!  Joe Chill ( discusión ) 22:28 14 ene 2010 (UTC) [ responder ]

Artículos para borrarnominación deTortugaBzr

He propuesto eliminar el artículo TortoiseBzr , que usted creó . No creo que este artículo cumpla con los criterios de Wikipedia para su inclusión, y he explicado por qué en Wikipedia:Artículos para eliminar/TortoiseBzr . Sus opiniones sobre el tema son bienvenidas en esa misma página de discusión; también puede editar el artículo para abordar estas inquietudes. Gracias por su tiempo.

Si no estás seguro de por qué recibiste este mensaje, ponte en contacto conmigo. Joe Chill ( discusión ) 22:28 14 ene 2010 (UTC) [ responder ]

Tintín

¡Buen trabajo! —Prhartcom (discusión) 12:48 1 feb 2013 (UTC) [ responder ]

Comentario cuestionable en la implementación de ordenación por combinación de arriba hacia abajo

Merge_sort#Top-down_implementation se escribió anteriormente en C para que coincidiera estrechamente con la implementación de abajo hacia arriba, se reemplazó con un ejemplo de C#, que no coincide tan estrechamente, y hay un comentario cuestionable ya que no está claro si el comentario se refiere a la llamada recursiva que se realiza o a la lista devuelta por la llamada recursiva.

De Merge_sort#Top-down_implementation en el fragmento de origen

//3/4 Ordena recursivamente ambas matrices izquierda = TopDownMergeSort ( izquierda ); derecha = TopDownMergeSort ( derecha );      

Estas llamadas no realizan ninguna clasificación, solo dividen recursivamente las sublistas hasta que el tamaño de la sublista sea 1. No se produce ninguna clasificación real hasta que se llama a la función Merge() en las líneas que siguen a este código. Rcgldr ( discusión ) 00:30, 11 de abril de 2013 (UTC) [ responder ]

No estoy seguro de seguir tu lógica. Una llamada a TopDownMergeSort definitivamente ordena la matriz que se le pasa. El método 'Merge' se llama dentro de la llamada recursiva. Sin embargo, si esto no está claro, deberíamos cambiarlo. maju (discusión) 01:59, 11 de abril de 2013 (UTC) [ responder ]
Se entiende que el resultado general ordena los datos. Mi problema es que los comentarios en el código deberían aplicarse a las líneas de código en la instancia actual de TopDownMergeSort(), no al efecto general de las capas de recursión. Esas líneas de código son solo una continuación del proceso de dividir una lista y llamar recursivamente a TopDownMergeSort() hasta que el tamaño de la lista sea 1. Lo que debe quedar claro es que hasta que alguna instancia de TopDownMergeSort() llegue a la línea que llama a Merge(), no se ha producido ninguna ordenación, solo la división de listas, y que ninguna instancia de TopDownMergeSort() regresa hasta que se realiza una llamada a Merge().
Las únicas líneas de código que contienen la lógica para ordenar los datos están en Merge(), no en TopDownMergeSort(). Rcgldr ( discusión ) 04:55 11 abr 2013 (UTC) [ responder ]
He cambiado el ejemplo de C a C# porque la manipulación de punteros y el paso de tamaños oscurecen la lógica. Creo firmemente que liberar memoria no es parte del algoritmo. Si no te gusta C# como lenguaje, podríamos optar por Python u otro lenguaje, pero yo defenderé firmemente el soporte "nativo" para matrices, sin punteros y con gestión de memoria "automática". maju (discusión) 01:59, 11 de abril de 2013 (UTC) [ responder ]
El problema principal es que sin usar punteros, no estoy seguro de cómo implementar eficientemente (sin copiar datos innecesarios) la ordenación por combinación de abajo a arriba que intercambia los punteros entre los búferes de entrada y salida después de cada pasada. Si una ordenación por combinación de abajo a arriba adecuada necesita punteros, entonces, para ser consistente, la ordenación por combinación de arriba a abajo también debería usar punteros para facilitar la comparación de los diferentes métodos. Rcgldr ( discusión ) 00:36, 12 de abril de 2013 (UTC) [ responder ]
Mi ejemplo no pasó ningún tamaño como parámetro. La función newlist() establece el tamaño de la estructura cuando se la llama para crear una nueva lista. Podría cambiar esto a C++ y crear una clase que tenga size() como miembro en lugar de usar ->size. No me desagrada C#, pero estaba tratando de dejar en claro que se estaban creando y eliminando listas como parte del proceso, para poder comparar mejor las diferencias entre arriba hacia abajo (se crean y eliminan muchas listas) y abajo hacia arriba (se crea una lista para usarla como segunda lista y se elimina una lista cuando se completa la ordenación; el código se puede modificar para que la lista original siempre termine con datos ordenados, pero esta es una optimización que no se requiere para los ejemplos). Rcgldr ( discusión ) 00:36, 12 de abril de 2013 (UTC) [ responder ]
Por último, veo mucho valor en el hecho de que el código C# trata con cualquier cosa que pueda compararse, mientras que el código C trata sólo con números enteros. (discusión) 01:59 11 abr 2013 (UTC)
Los datos de esa estructura pueden ser cualquier cosa que se pueda comparar. Utilicé números enteros sin signo de 64 bits como ejemplo para simplificar el ejemplo. Solo el tamaño debe ser un número entero. Rcgldr ( discusión ) 04:55, 11 de abril de 2013 (UTC) [ responder ]


Para que las llamadas array.copy() sean consistentes, cambie

Matriz . Copiar ( para ordenar , izquierda , tamañoIzquierda ); Matriz . Copiar ( para ordenar , tamañoIzquierda , derecha , 0 , para ordenar . Longitud - tamañoIzquierda );          

a

Matriz . Copiar ( toSort , 0 , izquierda , 0 , tamañoIzquierda ); Matriz . Copiar ( toSort , tamañoIzquierda , derecha , 0 , toSort . Longitud - tamañoIzquierda );            
Rcgldr ( discusión ) 05:18 11 abr 2013 (UTC) [ responder ]


Ejemplos propuestos en C++ para la ordenación por combinación

Agregué ejemplos de C++/STL/vector a la página de discusión de ordenamiento por combinación aquí: Talk:Merge_sort#Algorithm_-_C.2B.2B_vector_code_examples . Ambos ejemplos usan pasar por referencia, ya que el de abajo hacia arriba necesita pasar por referencia para que funcione la indexación. El de arriba hacia abajo no necesita pasar por referencia, pero lo dejé allí para mantener la coherencia de los dos ejemplos. Estos se podrían convertir a pseudocódigo donde no importaría. En el ejemplo de arriba hacia abajo, la declaración de las listas izquierda y derecha también copia datos de la lista principal, utilizando iteradores de vector STL, y agregué comentarios para explicarlo, pero no estoy seguro de si hay un problema de legibilidad allí. Estos se podrían rehacer en C#, pero el de abajo hacia arriba aún necesita pasar por referencia, por lo que, para lograr coherencia, el de arriba hacia abajo también debería usar pasar por referencia. Nuevamente, si los ejemplos se convierten a pseudocódigo, las diferencias específicas del lenguaje desaparecerían. Parece que Grlx es la única persona (además de nosotros) que está viendo ese artículo en este momento. Esperaré los comentarios de ambos antes de considerar hacer cambios, tal vez crear versiones en pseudocódigo. Lo que quiero es que las implementaciones de arriba hacia abajo y de abajo hacia arriba en el artículo principal utilicen el mismo estilo y, en la medida de lo posible, los mismos nombres para funciones y variables cuando sea posible. Rcgldr ( discusión ) 06:11, 22 de abril de 2013 (UTC) [ responder ]