期末复习必备:体系结构-思考题2.docxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
思考题:Design Pattern(1)寻找一个需要访问集合变量的简单场景:编程实现: Iterator Pattern and Proxy Pattern假想一个场景,需要通过迭代器来访问元素的后继(Binary Tree)BinaryTree类实现基本的二叉树的插入查找等功能:01publicclass BinaryTree {02public Node head;0304public Node findMinNode(Node node)?{05 Node temp = node;06if (temp == null)?{07returnnull;08 }09while (temp.getLeftNode()?!= null)?{10 temp = temp.getLeftNode();11 }12return temp;13 }1415public Node findMaxNode(Node node)?{16 Node temp = node;17if (temp == null)?{18returnnull;19 }20while (temp.getRightNode()?!= null)?{21 temp = temp.getRightNode();22 }23return temp;24 }2526public Node searchNode(int x)?{27 Node node = head;28 Node node1 = head;29if (head == null)30returnnull;31while (node1 != null)?{32 node = node1;33if (node.getElement()?== x)?{34return node;35 } elseif (node.getElement()? x)?{36 node1 = node.getLeftNode();37 } else {38 node1 = node.getRightNode();39 }40 }41returnnull;42 }4344public Node successor(Node x)?{45if ((x == null) || (searchNode(x.getElement())?== null))?{46returnnull;47 }48if (x.getRightNode()?!= null)?{49return findMinNode(x.getRightNode());50 }51 Node y = x.getFather();52while ((y != null)? (x == y.getRightNode()))?{53 x = y;54 y = y.getFather();55 }56return y;57 }5859publicvoid insert(int element)?{60 Node temp = head;61 Node temp1 = head;62while (temp1 != null)?{63 temp = temp1;64if (temp.getElement()?== element)?{65return;66 } elseif (temp.getElement()? element)?{67 temp1 = temp.getLeftNode();68 } else {69 temp1 = temp.getRightNode();70 }71 }72if (temp == null)?{73 head = new Node();74 head.setElement(element);75 head.setFather(null);76 } else {77 Node node = new Node();78 node.setElement(element);79 node.setFather(temp);80if (temp.getElement()? element)?{81 temp.setLeftNode(node);82 } else {83 temp.setRightNode(node);84 }85 }86 };87 }Node节点类是基本元素01publicclass Node {02private Node father;03private Node leftNode;04private Node rightNode;05privateint element;0607public Node getFather()?{08return father;09 }1011publicvoid setFather(Node father)?{12

文档评论(0)

1243595614 + 关注
实名认证
文档贡献者

文档有任何问题,请私信留言,会第一时间解决。

版权声明书
用户编号:7043023136000000

1亿VIP精品文档

相关文档