摘要:附录A 浅谈编程能力的培养和提高>学习什么语言其实并不是最重要的,关键是基础打扎实.C语言目前还是有很广阔的应用领域,用来做底层开发是理想之选.从C语言到C++过渡是比较容易的,在C++语言里可以接触到面向对象的思想Java和C#都是非常纯粹的面向对象语言不管是C++,Jave还是C#,学深了都是大有可为.对于一名程序员,基础中的基础应该是数学.数学最主要的功效是帮助我们建立一种分析问题和解决问题的思想和方法,然后通过编程去实现它.一些大型项目有时需要很复杂的数学建模和利用数学进行统计分析.数据结构和算法知识的掌握和运用能力是衡量一名程序员编程能力的重要指标.一个程序所选用的数据结构和算
阅读全文
摘要:1. 在linux环境下学习C语言系统编程能够深入理解操作系统的理论知识2. Linux下的系统编程是指程序员使用系统调用或C语言本身所携带的库函数来设计和编写具有某一特定功能的程序。3. Linux系统是以文件为基础而设计的。4. Linux所包含的文件类型: 普通文件; 目录文件; 字符特殊文件; 块特殊文件; FIFO(用于进程的通信,也称为命名管道) 套接字 符号连接5. 文件的访问权限控制: 【1】 在Shell下可以通过命令chmod来改变文件的访问权限。 【2】 通过chmod/fchmod函数可以对文件访问权限进行修改。 【3】 函数原型: #include <sys/t
阅读全文
摘要:贪婪算法用贪婪算法解决的问题至少有一个最优的解决方案。在问题的求解过程中可以建立两个集合,一个集合(不妨设为a)由已经被选出的符合问题要求的候选解组成,另一个集合(不妨设为b)由已经选出的但不能导出最优解的候选解组成集合a最终包含一个解可以用于贪婪思想解决的经典问题包括:带权图的最小生成树问题(Kruskal算法及Prim算法)带权图的最短路径问题(Dijkstra算法)背包问题Huffman树编码问题分治算法整个问题可以分解为两个或多个规模较小的子问题对每个子问题的求解类似于对整个问题的求解如果子问题的规模仍然比较大,可以继续对子问题进行分治求解分治法和递归的思想是紧密相连的分治法的通用模板
阅读全文