摘要:
红黑树是一种自平衡二叉查找树,是在计算机科学中用到的一种数据结构,典型的用途是实现关联数组。它是在1972年由鲁道夫·贝尔发明的,他称之为“对称二叉B树”,它现代的名字是在 Leo J. Guibas 和 Robert Sedgewick 于1978年写的一篇论文中获得的。它是复杂的,但它的操作有着良好的最坏情况运行时间,并且在实践中是高效的:它可以在O(log n)时间内做查找,插入和删除,这里的n是树中元素的数目。一、用途和好处红黑树和AVL树一样都对插入时间、删除时间和查找时间提供了最好可能的最坏情况担保。这不只是使它们在时间敏感的应用如实时应用(real time appli 阅读全文
摘要:
Linus大神在slashdot上回答一些编程爱好者的提问,其中一个人问他什么样的代码是他所喜好的,大婶表述了自己一些观点之后,举了一个指针的例子,解释了什么才是core low-level coding。下面是Linus的教学原文及翻译——“At the opposite end of the s... 阅读全文
摘要:
一、数学库<math.h>数学库包含许多有用的数学函数。头文件math.h提供了这些函数的函数声明或原型。注意角度的单位为弧度。ANSI C标准数学函数原型描述原型描述double acos (double x)返回余弦值为x的角度值double asin (double x)返回正弦值为x的角度值double atan (double x)返回正切值为x的角度值double atan2 (double y, double x)返回正切值为y/x的角度值double cos (double x)返回x的余弦值double sin (double x)返回x的正弦值double ta 阅读全文
摘要:
C使用术语名字空间(namespace)来识别一个名字的程序部分。作用域是这个概念的一部分:名字相同但具有不同作用域的两个变量不好冲突;而名字相同并在相同作用域中的两个变量就会冲突。名字空间是分类别的。在一个特定的作用域内的结构标记、联合标记以及枚举标记都共享同一个名字空间,而且这个名字空间与普通变量使用的名字空间是不同的。这意味着,可以在同一个作用域内对一个变量和一个标记使用同一个名字,而不会产生错误;但是不能在同一个作用域内使用名字相同的两个标记或名字相同的两个变来能够。例如,在C中下面的语句不会产生冲突:struct rect {double x; double y;};int rect 阅读全文