¿Cuál es la relación específica entre los algoritmos de estructura de datos (descritos en lenguaje C) y los programas C o C++?
Los algoritmos son independientes del idioma. Cualquier lenguaje completamente funcional puede describir un algoritmo, pero la eficiencia de ejecución está relacionada con el nivel del implementador y la eficiencia de ejecución del lenguaje mismo. Por ejemplo, Java es mucho más lento que C, por lo que en muchos sitios web, si usa Java para enviar, el límite de tiempo suele ser varias veces.
Función es lo que se llama función. Sí, un algoritmo se puede utilizar como función (correctamente, el algoritmo en sí contiene varias funciones), pero no se conoce el principio del algoritmo. ¿Cómo sabes cómo usarlo? Si lo sabes, puedes traer una plantilla al concurso ACM. La llamada plantilla es la rutina de cada algoritmo. No tiene que tener miedo de olvidar un algoritmo, pero a menudo verá una pregunta en la que no sabe qué algoritmo usar porque el modelo matemático de la pregunta estará oculto.