主题:高手进!关于链表和算法复杂度的概念问题
刚开始自己学习数据结构,有很多地方不是很明白。想请高手指点一下。
第一关于链表的问题,我看书上说某某有表头结点的算法,按照这样的语句意思难道还有没有表头结点的链表吗?如果没有,那为什么需要存在表头结点,直接引用第一个元素不就好了吗,为什么还需要HEAD的存在,然后用表头指针指向第一元素,尤其是在环链中表尾元素完全可以直接指向第一元素,而此时的表头元素就是一个没有值的空壳无任何意义。
第二是关于建立链表的一些语句或者函数。
比如这个结构体
struct student
{ int num;
float score;
struct student *next; /*这里的这个指针是按照student 结构体类型定义了这个指针 我不是很理解 这样嵌套 感觉象是形成了一个无限循环似的 */
};
第三个是关于算法复杂度 我不是很理解 那个概念很抽象 而且那个表达式我不是看的很明白 还有怎么去测试这个复杂度啊 是按照数学理解来算还是靠软件测试 影响这些的因素有哪些
希望高手给予帮助
第一关于链表的问题,我看书上说某某有表头结点的算法,按照这样的语句意思难道还有没有表头结点的链表吗?如果没有,那为什么需要存在表头结点,直接引用第一个元素不就好了吗,为什么还需要HEAD的存在,然后用表头指针指向第一元素,尤其是在环链中表尾元素完全可以直接指向第一元素,而此时的表头元素就是一个没有值的空壳无任何意义。
第二是关于建立链表的一些语句或者函数。
比如这个结构体
struct student
{ int num;
float score;
struct student *next; /*这里的这个指针是按照student 结构体类型定义了这个指针 我不是很理解 这样嵌套 感觉象是形成了一个无限循环似的 */
};
第三个是关于算法复杂度 我不是很理解 那个概念很抽象 而且那个表达式我不是看的很明白 还有怎么去测试这个复杂度啊 是按照数学理解来算还是靠软件测试 影响这些的因素有哪些
希望高手给予帮助