主页

二叉树的括号表示(广义表示)转换

写在前面 笔试时候发现很多二叉树括号表示的题目, 了解一下. 转换规则 举例 mhy 的题目: 4.假设存在一棵树,其括号表示为A(B(F,G),C(H, (L)),D(J,K(M),E(N(O),P)),若将该树转换为二叉树,则该二叉树的后序遍历为 () 。 A GLIHFMKJPNEODCBA B BFGCHILDJKMENOP C ABGLIHEMKJPNEODC D GFLIHMKJOPNEDCBA

阅读更多

堆地址和栈地址的区分

printf("main addr: %p\n", (void *)main); int a = 1; printf("stack addr: %p\n", &a); int *p = (int *)malloc(sizeof(int)); printf("heap addr: %p\n", p); free(p); /* main addr: 0x102257ee4 stack addr: 0x16dbaab24 heap addr: 0x600002c28050 */ 只是一个很简单的区分方法, 实际上还要受制于架构和指令集等情况.

阅读更多

Python牛客acm模式io题目答案

牛客竞赛_ACM/NOI/CSP/CCPC/ICPC算法编程高难度练习赛_牛客竞赛OJ; 1 import sys for l in sys.stdin: a, b = l.split() print(int(a) + int(b)) 2 import sys n = input() for l in sys.stdin: a, b = l.split() print(int(a) + int(b)) 3 import sys for l in sys.stdin: a, b = l.split() if a != '0' or b != '0': print(int(a) + int(b)) ...

阅读更多

Gcc工具链常见参数详解

写在前面 单文件编译 #include <cstdio> #define out(x) printf(x) int main(int argc, char *argv[]) { const int a [[maybe_unused]] = 7; // stdc++17 out("hello cpp\n"); return 0; } 预处理-E g++ -E aa.cpp -o aa.i # cpp aa.cpp > aa.i # 或者用 cpp 预处理器 (The C Preprocessor) aa.i的部分结果: # 4 "aa.cpp" int main(int argc, char *argv[])...

阅读更多

关于stl迭代器前置++和后置++性能的汇编层面分析

源码 /opt/homebrew/Cellar/llvm/16.0.4/include/c++/v1/__iterator/wrap_iter.h // clang llvm _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX14 __wrap_iter& operator++() _NOEXCEPT { _LIBCPP_DEBUG_ASSERT(__get_const_db()->__dereferenceable(this), "Attempted to increment a non-incrementable iterator"); ...

阅读更多

Total views.
您是Zorch的第 个小伙伴
Hits