在循环队列中,队头指针与队尾指针是可以改变的,举例此题,长度为6的队列下标为0~5,front=rear=0,插入5个元素,rear=5,删除5个元素,front=5,(目的是让front大)再插入1个元素,rear=0, front>rear
"最快的排序算法" 时间复杂度远不到N^2 (至少可以达到n logn)
尾指针指向最后一个元素,(节点之间并没有指向其直接前驱的指针),修改尾指针,再free掉最后一个节点可以删除一个节点,但是还要修改倒数第二个节点的next指向空,否则它指向一个已经释放的内存,所以还需重头开始找到倒数第二个节点。
此题与严蔚敏版数据结构中的定义不同,按书上来应为S->top==0 或者S->top==S->base,(S使用了-> 代表这里S是一个指针,S->top代表栈中成员top,是一个地址,而*(S->top)才是top所指的元素)
队尾元素位置不同于队尾下标,队尾下标是队尾元素位置的下一个位置。
由三对角矩阵性质得,除了第一行与最后一行非0 数为2,其余每行非0数为3,m30 30 是第(2+28*3+2)个数,注意30,30在主对角线上,则他的前一个非0,他自己非0,所以是加2,下标从0开始,所以他对应下标为(2+28*3+2-1)=87
逆波兰式求表达式的值
一棵树的节点数减边数等于一,N-K=树的个数