①数 据 结 构 中 如 何 遍 历 一 个 树 我 回 来 之 后 想 到 了 也 许 要 用 到 递 归不 知 道 还 有 没 有 其 他 方 法 。 。 或 者 是 我 如 果 这 样 回 答 的 话 对 么 ? ② 数 据 结 构 中 的 链 表 这 个 问 题 应 该 怎 么 回 答 ? 我 还 是 得 去 搜 索 一 下 链 表 的 概 念 ③ 简 单 描 述 一 下 学 校 排 课 系 统 的 实 现 思 路 。 。 。 。 没 有 思 路 。 。 高 手 说说。。。 ④ 简 单 描 述 一 下 反 射 。 。 我 只 知 道 动 态 获 取 程 序 集 信 息 。 。 。 不 晓 得 他 问 这 个 问 题 的 目 的 是 什 么 ?
对,
是用递归、循环判断当前节点是否有子节点, 没有就返回。
链表由一系列结点组成,每个结点包括一个存储数据元素的数据域和一个存储下一个结点地址的指针域。
排课系统:需要考虑 "教师","教室","课时","课程"四个因素(暂时就只能想到这么多了);
教师可以教什么课、多少课时;哪些教室可以上什么课等等。
反射提供了动态创建类型并访问类型的实例的属性、调用实例的方法这样的能力。
1.递归说的没错
2。 链表是一种常见的重要的数据结构。它是动态地进行存储分配的一种结构。它可以根据需要开辟内存单元。链表有一个“头指针”变量,以head表示,它存放一个地址。该地址指向一个元素。链表中每一个元素称为“结点”,每个结点都应包括两个部分:一为用户需要用的实际数据,二为下一个结点的地址。因此,head指向第一个元素:第一个元素又指向第二个元素;……,直到最后一个元素,该元素不再指向其它元素,它称为“表尾”,它的地址部分放一个“NULL”(表示“空地址”),链表到此结束。
3.http://wenku.baidu.com/view/2d17fd6925c52cc58bd6be6e.html
4.反射是一种晚绑定,它可以被开发者用来设计出更具灵活性的代码,而代价则是花费更多的系统资源开销使得应用程序可以在运行时获取一些未知信息。说白了,在编写代码的时候,开发者可能还不知道或不能确定一些对象的信息,于是把决定权交给代码本身,将来在需要的时候由代码自己去获取和判断这些信息并作出相应的反应。这样的方式固然可以使代码更加灵活,但在想要使用反射的时候,必须先考虑好在性能与灵活之间的一个权衡,不能盲目地因为C#提供了反射机制就一个劲儿地用,我们应该发扬John Carmack“榨干PC机3D图像性能”的精神,而不要因为硬件越来越便宜就让机器背负沉重的包袱去做一些意义不大的事情。
1:树用遍历访问,前序,中序,后续遍历,都是递归,也可以用循环加链表的方式来访问
2:链表可以在C#找到原型,Arraylist是数组和链表的中间产物,可以动态变化,也可以下标索引,Linkedlist是真正意思上的链表
3:智能排课,先需求分析
4:反射基本没用,对整个程序帮助不大,只是为.NET平台而产生