摘要: 引出 基于BST极端情况(链表)引出了平衡二叉树,又分为高度 和颜色上的平衡,AVL和RBT。AVL——树中任一结点的左右子树高度差不超过1。仅查询用AVL较多,对于删除和插入操作,为了维护高度上绝对平衡开销过大。RBT则是放弃了这种绝对平衡,实现大致平衡 特性 1.结点要么黑色要么红色 2.根节点 阅读全文
posted @ 2021-05-16 15:42 七里橙花 阅读(344) 评论(0) 推荐(0)
摘要: 树的基本术语: 度:结点拥有的子树数。度为0的结点称为叶子或终端结点。度不为0的结点称为分支结点。树的度是指树内各结点的度的最大值。 树的层次:从根开始,根为第一层。树中结点的最大层次称为树的深度或高度。 树的深度和高度是相等的,而对其他节点来说深度和高度不一定相等。 某节点的深度是指从根节点到该节 阅读全文
posted @ 2021-05-16 12:42 七里橙花 阅读(656) 评论(0) 推荐(0)
摘要: 定义局部变量为 static变量。 str指向一个字符串常量,字符串常量和静态变量类似,都是程序结束时,才释放内存 指针函数返回一个堆空间上的地址(malloc申请的) ——这个上课经常用。。原来这个意思 对于第二种情况例子: 在函数里定义char p[] = "hello,world";返回p,p 阅读全文
posted @ 2021-05-16 01:39 七里橙花 阅读(215) 评论(0) 推荐(0)
摘要: 看到这句话好像有点明白了函数里通过二级指针修改内容 ,指针修改的都是指向的内容就能完成修改,对地址本身没办法修改。 int *p = &a;//函数传入时如下 void eaxm(int *s){} ,传入的p 指向的地址(是a的地址),而不是p本身的地址,要想修改p需要传入指针p的地址 void 阅读全文
posted @ 2021-05-16 00:33 七里橙花 阅读(63) 评论(0) 推荐(0)
摘要: printf输出string问题 string不是c语言内置的 1 for(auto i= m.begin();i!=m.end();i++)//c++11新特性auto 2 { 3 printf("%s %d\n", (i->first).c_str(), i->second);//加上一个c_s 阅读全文
posted @ 2021-04-17 15:08 七里橙花 阅读(51) 评论(0) 推荐(0)