shiko shiko
TRANSCRIPT
-
8/19/2019 Shiko Shiko
1/158
icl.pdf
q_with_id - Copy.pdf
-
8/19/2019 Shiko Shiko
2/158
sdd.pdf
dfff.pdf
-
8/19/2019 Shiko Shiko
3/158
sdsd.pdf
sfg.pdf
-
8/19/2019 Shiko Shiko
4/158
sd.pdf
q_with_id.pdf
-
8/19/2019 Shiko Shiko
5/158
nder1.pdf
nder2.pdf
-
8/19/2019 Shiko Shiko
6/158
rad-Mehldau-s-Solo-on-50-Ways-to-Leave-Your-Lover.pdf
q_with_id - Copy.pdf
-
8/19/2019 Shiko Shiko
7/158
Piano min D C 7 min G©min7¨5 C 7
Pno.
5
min E D C 7 min G©min7¨5 C 7
Pno.
9
min E D C 7
Pno.
11
Bmin A dim Amaj7 C 7/G
Pno.
13
min6 E A dim
Brad Mehldau's solo on
50 Ways To Leave Your Lover
Transcription: Francois Jalber
-
8/19/2019 Shiko Shiko
8/158
Pno.
15
Bmin Cdim C 7 min
Pno.
17
Bmin C 7 min
Pno.
19
G min E D 7 G min A©min7¨5 D 7
Pno.
23
G min E D 7
Pno.
25
G min A©min7¨5 D 7
Pno.
27
G min E D 7
2
-
8/19/2019 Shiko Shiko
9/158
Pno.
29
C min B dim Bmaj7 D 7/A
Pno.
31
G min6 B dim
Pno.
33
C min Ddim D 7 G min
Pno.
35
C min D 7 G min
Pno.
37
Emin C B7
Pno.
39
Emin ©min7¨5 B7
3
-
8/19/2019 Shiko Shiko
10/158
Pno.
41
Emin D C B7
Pno.
43
Emin ©min7¨5 B7
Pno.
45
Emin D C B7 Amin G dim Gmaj7 B7/
Pno.
49
Emin6 D G dim
Pno.
51
Amin Bbdim B7 Emin
Pno.
53
Amin B7 Emin
4
-
8/19/2019 Shiko Shiko
11/158
Pno.
55
min D C 7
Pno.
57
min G©min7¨5 C 7
Pno.
59
min E D C 7
Pno.
61
min G©min7¨5 C 7
Pno.
63
min E D C 7
Pno.
65
Bmin A dim Amaj7 C 7/G
5
-
8/19/2019 Shiko Shiko
12/158
Pno.
67
min6 E A dim
Pno.
69
Bmin Cdim C 7 min
Pno.
71
Bmin C 7 min
Pno.
73
G min E D 7 G min A©min7¨5 D 7
Pno.
77
G min E D 7 G min
Pno.
80
A©min7¨5 D 7 G min E D 7
6
-
8/19/2019 Shiko Shiko
13/158
Pno.
83
C min B dim Bmaj7 D 7/A G min6
Pno.
86
B dim C min Ddim D 7 G min
Pno.
89
C min D 7 G min Emin
7
-
8/19/2019 Shiko Shiko
14/158
In class exercise:
Please design a priority queue data structure, priority_queue_with_id, that allows the user to
modify priority and delete a data with a specific id efficiently. You can modify code from
cp::priority_queue. It should have the following structure
template
class priority_queue with_id {
protected:
T* mData;
size_t mCap;
size_t mSize;
Comp mLess;
// TODO: Your additional variables here
public:
priority_queue with_id (const Comp& c = Comp()) { ... }
priority_queue with_id (const pr priority_queue with_id& a) { ... }
~priority_queue with_id () { ... }
//------------- capacity function ----------
bool empty() const { ... }
size_t size() const { ... }
-
8/19/2019 Shiko Shiko
15/158
//----------------- access -----------------
const T& top() const { ... }
const size_t& top_id() const { ... }
//----------------- modifier ---------------
size_t push(const T& e) { ... } // return id
void pop() { ... }
void changeData(size_t id, const T& new_e) { … }
void deleteData(size_t id) { … }
// TODO: Your additional functions here
};
Hint: You can use stl::map to help, and achieve O(log2
n) or you can do better and be
O(log n)
-
8/19/2019 Shiko Shiko
16/158
q_with_id - Copy.pdf
nder1.pdf
-
8/19/2019 Shiko Shiko
17/158
In class exercise:
Please design a priority queue data structure, priority_queue_with_id, that allows the user to
modify priority and delete a data with a specific id efficiently. You can modify code from
cp::priority_queue. It should have the following structure
template
class priority_queue with_id {
protected:
T* mData;
size_t mCap;
size_t mSize;
Comp mLess;
// TODO: Your additional variables here
public:
priority_queue with_id (const Comp& c = Comp()) { ... }
priority_queue with_id (const pr priority_queue with_id& a) { ... }
~priority_queue with_id () { ... }
//------------- capacity function ----------
bool empty() const { ... }
size_t size() const { ... }
-
8/19/2019 Shiko Shiko
18/158
//----------------- access -----------------
const T& top() const { ... }
const size_t& top_id() const { ... }
//----------------- modifier ---------------
size_t push(const T& e) { ... } // return id
void pop() { ... }
void changeData(size_t id, const T& new_e) { … }
void deleteData(size_t id) { … }
// TODO: Your additional functions here
};
Hint: You can use stl::map to help, and achieve O(log2
n) or you can do better and be
O(log n)
-
8/19/2019 Shiko Shiko
19/158
rad-Mehldau-s-Solo-on-50-Ways-to-Leave-Your-Lover.pdf
q_with_id - Copy.pdf
-
8/19/2019 Shiko Shiko
20/158
Piano min D C 7 min G©min7¨5 C 7
Pno.
5
min E D C 7 min G©min7¨5 C 7
Pno.
9
min E D C 7
Pno.
11
Bmin A dim Amaj7 C 7/G
Pno.
13
min6 E A dim
Brad Mehldau's solo on
50 Ways To Leave Your Lover
Transcription: Francois Jalber
-
8/19/2019 Shiko Shiko
21/158
Pno.
15
Bmin Cdim C 7 min
Pno.
17
Bmin C 7 min
Pno.
19
G min E D 7 G min A©min7¨5 D 7
Pno.
23
G min E D 7
Pno.
25
G min A©min7¨5 D 7
Pno.
27
G min E D 7
2
-
8/19/2019 Shiko Shiko
22/158
Pno.
29
C min B dim Bmaj7 D 7/A
Pno.
31
G min6 B dim
Pno.
33
C min Ddim D 7 G min
Pno.
35
C min D 7 G min
Pno.
37
Emin C B7
Pno.
39
Emin ©min7¨5 B7
3
-
8/19/2019 Shiko Shiko
23/158
Pno.
41
Emin D C B7
Pno.
43
Emin ©min7¨5 B7
Pno.
45
Emin D C B7 Amin G dim Gmaj7 B7/
Pno.
49
Emin6 D G dim
Pno.
51
Amin Bbdim B7 Emin
Pno.
53
Amin B7 Emin
4
-
8/19/2019 Shiko Shiko
24/158
Pno.
55
min D C 7
Pno.
57
min G©min7¨5 C 7
Pno.
59
min E D C 7
Pno.
61
min G©min7¨5 C 7
Pno.
63
min E D C 7
Pno.
65
Bmin A dim Amaj7 C 7/G
5
-
8/19/2019 Shiko Shiko
25/158
Pno.
67
min6 E A dim
Pno.
69
Bmin Cdim C 7 min
Pno.
71
Bmin C 7 min
Pno.
73
G min E D 7 G min A©min7¨5 D 7
Pno.
77
G min E D 7 G min
Pno.
80
A©min7¨5 D 7 G min E D 7
6
-
8/19/2019 Shiko Shiko
26/158
Pno.
83
C min B dim Bmaj7 D 7/A G min6
Pno.
86
B dim C min Ddim D 7 G min
Pno.
89
C min D 7 G min Emin
7
-
8/19/2019 Shiko Shiko
27/158
In class exercise:
Please design a priority queue data structure, priority_queue_with_id, that allows the user to
modify priority and delete a data with a specific id efficiently. You can modify code from
cp::priority_queue. It should have the following structure
template
class priority_queue with_id {
protected:
T* mData;
size_t mCap;
size_t mSize;
Comp mLess;
// TODO: Your additional variables here
public:
priority_queue with_id (const Comp& c = Comp()) { ... }
priority_queue with_id (const pr priority_queue with_id& a) { ... }
~priority_queue with_id () { ... }
//------------- capacity function ----------
bool empty() const { ... }
size_t size() const { ... }
-
8/19/2019 Shiko Shiko
28/158
//----------------- access -----------------
const T& top() const { ... }
const size_t& top_id() const { ... }
//----------------- modifier ---------------
size_t push(const T& e) { ... } // return id
void pop() { ... }
void changeData(size_t id, const T& new_e) { … }
void deleteData(size_t id) { … }
// TODO: Your additional functions here
};
Hint: You can use stl::map to help, and achieve O(log2
n) or you can do better and be
O(log n)
-
8/19/2019 Shiko Shiko
29/158
In class exercise:
Please design a priority queue data structure, priority_queue_with_id, that allows the user to
modify priority and delete a data with a specific id efficiently. You can modify code from
cp::priority_queue. It should have the following structure
template
class priority_queue with_id {
protected:
T* mData;
size_t mCap;
size_t mSize;
Comp mLess;
// TODO: Your additional variables here
public:
priority_queue with_id (const Comp& c = Comp()) { ... }
priority_queue with_id (const pr priority_queue with_id& a) { ... }
~priority_queue with_id () { ... }
//------------- capacity function ----------
bool empty() const { ... }
size_t size() const { ... }
-
8/19/2019 Shiko Shiko
30/158
//----------------- access -----------------
const T& top() const { ... }
const size_t& top_id() const { ... }
//----------------- modifier ---------------
size_t push(const T& e) { ... } // return id
void pop() { ... }
void changeData(size_t id, const T& new_e) { … }
void deleteData(size_t id) { … }
// TODO: Your additional functions here
};
Hint: You can use stl::map to help, and achieve O(log2
n) or you can do better and be
O(log n)
-
8/19/2019 Shiko Shiko
31/158
rad-Mehldau-s-Solo-on-50-Ways-to-Leave-Your-Lover.pdf
q_with_id - Copy.pdf
-
8/19/2019 Shiko Shiko
32/158
Piano min D C 7 min G©min7¨5 C 7
Pno.
5
min E D C 7 min G©min7¨5 C 7
Pno.
9
min E D C 7
Pno.
11
Bmin A dim Amaj7 C 7/G
Pno.
13
min6 E A dim
Brad Mehldau's solo on
50 Ways To Leave Your Lover
Transcription: Francois Jalber
-
8/19/2019 Shiko Shiko
33/158
Pno.
15
Bmin Cdim C 7 min
Pno.
17
Bmin C 7 min
Pno.
19
G min E D 7 G min A©min7¨5 D 7
Pno.
23
G min E D 7
Pno.
25
G min A©min7¨5 D 7
Pno.
27
G min E D 7
2
-
8/19/2019 Shiko Shiko
34/158
Pno.
29
C min B dim Bmaj7 D 7/A
Pno.
31
G min6 B dim
Pno.
33
C min Ddim D 7 G min
Pno.
35
C min D 7 G min
Pno.
37
Emin C B7
Pno.
39
Emin ©min7¨5 B7
3
-
8/19/2019 Shiko Shiko
35/158
Pno.
41
Emin D C B7
Pno.
43
Emin ©min7¨5 B7
Pno.
45
Emin D C B7 Amin G dim Gmaj7 B7/
Pno.
49
Emin6 D G dim
Pno.
51
Amin Bbdim B7 Emin
Pno.
53
Amin B7 Emin
4
-
8/19/2019 Shiko Shiko
36/158
Pno.
55
min D C 7
Pno.
57
min G©min7¨5 C 7
Pno.
59
min E D C 7
Pno.
61
min G©min7¨5 C 7
Pno.
63
min E D C 7
Pno.
65
Bmin A dim Amaj7 C 7/G
5
-
8/19/2019 Shiko Shiko
37/158
Pno.
67
min6 E A dim
Pno.
69
Bmin Cdim C 7 min
Pno.
71
Bmin C 7 min
Pno.
73
G min E D 7 G min A©min7¨5 D 7
Pno.
77
G min E D 7 G min
Pno.
80
A©min7¨5 D 7 G min E D 7
6
-
8/19/2019 Shiko Shiko
38/158
Pno.
83
C min B dim Bmaj7 D 7/A G min6
Pno.
86
B dim C min Ddim D 7 G min
Pno.
89
C min D 7 G min Emin
7
-
8/19/2019 Shiko Shiko
39/158
In class exercise:
Please design a priority queue data structure, priority_queue_with_id, that allows the user to
modify priority and delete a data with a specific id efficiently. You can modify code from
cp::priority_queue. It should have the following structure
template
class priority_queue with_id {
protected:
T* mData;
size_t mCap;
size_t mSize;
Comp mLess;
// TODO: Your additional variables here
public:
priority_queue with_id (const Comp& c = Comp()) { ... }
priority_queue with_id (const pr priority_queue with_id& a) { ... }
~priority_queue with_id () { ... }
//------------- capacity function ----------
bool empty() const { ... }
size_t size() const { ... }
-
8/19/2019 Shiko Shiko
40/158
//----------------- access -----------------
const T& top() const { ... }
const size_t& top_id() const { ... }
//----------------- modifier ---------------
size_t push(const T& e) { ... } // return id
void pop() { ... }
void changeData(size_t id, const T& new_e) { … }
void deleteData(size_t id) { … }
// TODO: Your additional functions here
};
Hint: You can use stl::map to help, and achieve O(log2
n) or you can do better and be
O(log n)
-
8/19/2019 Shiko Shiko
41/158
sd.pdf
gg.pdf
-
8/19/2019 Shiko Shiko
42/158
j.pdf
sfg.pdf
-
8/19/2019 Shiko Shiko
43/158
q_with_id - Copy.pdf
nder1.pdf
-
8/19/2019 Shiko Shiko
44/158
In class exercise:
Please design a priority queue data structure, priority_queue_with_id, that allows the user to
modify priority and delete a data with a specific id efficiently. You can modify code from
cp::priority_queue. It should have the following structure
template
class priority_queue with_id {
protected:
T* mData;
size_t mCap;
size_t mSize;
Comp mLess;
// TODO: Your additional variables here
public:
priority_queue with_id (const Comp& c = Comp()) { ... }
priority_queue with_id (const pr priority_queue with_id& a) { ... }
~priority_queue with_id () { ... }
//------------- capacity function ----------
bool empty() const { ... }
size_t size() const { ... }
-
8/19/2019 Shiko Shiko
45/158
//----------------- access -----------------
const T& top() const { ... }
const size_t& top_id() const { ... }
//----------------- modifier ---------------
size_t push(const T& e) { ... } // return id
void pop() { ... }
void changeData(size_t id, const T& new_e) { … }
void deleteData(size_t id) { … }
// TODO: Your additional functions here
};
Hint: You can use stl::map to help, and achieve O(log2
n) or you can do better and be
O(log n)
-
8/19/2019 Shiko Shiko
46/158
rad-Mehldau-s-Solo-on-50-Ways-to-Leave-Your-Lover.pdf
q_with_id - Copy.pdf
-
8/19/2019 Shiko Shiko
47/158
Piano min D C 7 min G©min7¨5 C 7
Pno.
5
min E D C 7 min G©min7¨5 C 7
Pno.
9
min E D C 7
Pno.
11
Bmin A dim Amaj7 C 7/G
Pno.
13
min6 E A dim
Brad Mehldau's solo on
50 Ways To Leave Your Lover
Transcription: Francois Jalber
-
8/19/2019 Shiko Shiko
48/158
Pno.
15
Bmin Cdim C 7 min
Pno.
17
Bmin C 7 min
Pno.
19
G min E D 7 G min A©min7¨5 D 7
Pno.
23
G min E D 7
Pno.
25
G min A©min7¨5 D 7
Pno.
27
G min E D 7
2
-
8/19/2019 Shiko Shiko
49/158
Pno.
29
C min B dim Bmaj7 D 7/A
Pno.
31
G min6 B dim
Pno.
33
C min Ddim D 7 G min
Pno.
35
C min D 7 G min
Pno.
37
Emin C B7
Pno.
39
Emin ©min7¨5 B7
3
-
8/19/2019 Shiko Shiko
50/158
Pno.
41
Emin D C B7
Pno.
43
Emin ©min7¨5 B7
Pno.
45
Emin D C B7 Amin G dim Gmaj7 B7/
Pno.
49
Emin6 D G dim
Pno.
51
Amin Bbdim B7 Emin
Pno.
53
Amin B7 Emin
4
-
8/19/2019 Shiko Shiko
51/158
Pno.
55
min D C 7
Pno.
57
min G©min7¨5 C 7
Pno.
59
min E D C 7
Pno.
61
min G©min7¨5 C 7
Pno.
63
min E D C 7
Pno.
65
Bmin A dim Amaj7 C 7/G
5
-
8/19/2019 Shiko Shiko
52/158
Pno.
67
min6 E A dim
Pno.
69
Bmin Cdim C 7 min
Pno.
71
Bmin C 7 min
Pno.
73
G min E D 7 G min A©min7¨5 D 7
Pno.
77
G min E D 7 G min
Pno.
80
A©min7¨5 D 7 G min E D 7
6
-
8/19/2019 Shiko Shiko
53/158
Pno.
83
C min B dim Bmaj7 D 7/A G min6
Pno.
86
B dim C min Ddim D 7 G min
Pno.
89
C min D 7 G min Emin
7
-
8/19/2019 Shiko Shiko
54/158
In class exercise:
Please design a priority queue data structure, priority_queue_with_id, that allows the user to
modify priority and delete a data with a specific id efficiently. You can modify code from
cp::priority_queue. It should have the following structure
template
class priority_queue with_id {
protected:
T* mData;
size_t mCap;
size_t mSize;
Comp mLess;
// TODO: Your additional variables here
public:
priority_queue with_id (const Comp& c = Comp()) { ... }
priority_queue with_id (const pr priority_queue with_id& a) { ... }
~priority_queue with_id () { ... }
//------------- capacity function ----------
bool empty() const { ... }
size_t size() const { ... }
-
8/19/2019 Shiko Shiko
55/158
//----------------- access -----------------
const T& top() const { ... }
const size_t& top_id() const { ... }
//----------------- modifier ---------------
size_t push(const T& e) { ... } // return id
void pop() { ... }
void changeData(size_t id, const T& new_e) { … }
void deleteData(size_t id) { … }
// TODO: Your additional functions here
};
Hint: You can use stl::map to help, and achieve O(log2
n) or you can do better and be
O(log n)
-
8/19/2019 Shiko Shiko
56/158
rad-Mehldau-s-Solo-on-50-Ways-to-Leave-Your-Lover.pdf
q_with_id - Copy.pdf
-
8/19/2019 Shiko Shiko
57/158
Piano min D C 7 min G©min7¨5 C 7
Pno.
5
min E D C 7 min G©min7¨5 C 7
Pno.
9
min E D C 7
Pno.
11
Bmin A dim Amaj7 C 7/G
Pno.
13
min6 E A dim
Brad Mehldau's solo on
50 Ways To Leave Your Lover
Transcription: Francois Jalber
-
8/19/2019 Shiko Shiko
58/158
Pno.
15
Bmin Cdim C 7 min
Pno.
17
Bmin C 7 min
Pno.
19
G min E D 7 G min A©min7¨5 D 7
Pno.
23
G min E D 7
Pno.
25
G min A©min7¨5 D 7
Pno.
27
G min E D 7
2
-
8/19/2019 Shiko Shiko
59/158
Pno.
29
C min B dim Bmaj7 D 7/A
Pno.
31
G min6 B dim
Pno.
33
C min Ddim D 7 G min
Pno.
35
C min D 7 G min
Pno.
37
Emin C B7
Pno.
39
Emin ©min7¨5 B7
3
-
8/19/2019 Shiko Shiko
60/158
-
8/19/2019 Shiko Shiko
61/158
-
8/19/2019 Shiko Shiko
62/158
Pno.
67
min6 E A dim
Pno.
69
Bmin Cdim C 7 min
Pno.
71
Bmin C 7 min
Pno.
73
G min E D 7 G min A©min7¨5 D 7
Pno.
77
G min E D 7 G min
Pno.
80
A©min7¨5 D 7 G min E D 7
6
-
8/19/2019 Shiko Shiko
63/158
Pno.
83
C min B dim Bmaj7 D 7/A G min6
Pno.
86
B dim C min Ddim D 7 G min
Pno.
89
C min D 7 G min Emin
7
-
8/19/2019 Shiko Shiko
64/158
In class exercise:
Please design a priority queue data structure, priority_queue_with_id, that allows the user to
modify priority and delete a data with a specific id efficiently. You can modify code from
cp::priority_queue. It should have the following structure
template
class priority_queue with_id {
protected:
T* mData;
size_t mCap;
size_t mSize;
Comp mLess;
// TODO: Your additional variables here
public:
priority_queue with_id (const Comp& c = Comp()) { ... }
priority_queue with_id (const pr priority_queue with_id& a) { ... }
~priority_queue with_id () { ... }
//------------- capacity function ----------
bool empty() const { ... }
size_t size() const { ... }
-
8/19/2019 Shiko Shiko
65/158
-
8/19/2019 Shiko Shiko
66/158
sdd.pdf
gic.pdf
-
8/19/2019 Shiko Shiko
67/158
sdsd.pdf
sfg.pdf
-
8/19/2019 Shiko Shiko
68/158
sd.pdf
q_with_id.pdf
-
8/19/2019 Shiko Shiko
69/158
nder1.pdf
nder2.pdf
-
8/19/2019 Shiko Shiko
70/158
rad-Mehldau-s-Solo-on-50-Ways-to-Leave-Your-Lover.pdf
q_with_id - Copy.pdf
-
8/19/2019 Shiko Shiko
71/158
Piano min D C 7 min G©min7¨5 C 7
Pno.
5
min E D C 7 min G©min7¨5 C 7
Pno.
9
min E D C 7
Pno.
11
Bmin A dim Amaj7 C 7/G
Pno.
13
min6 E A dim
Brad Mehldau's solo on
50 Ways To Leave Your Lover
Transcription: Francois Jalber
-
8/19/2019 Shiko Shiko
72/158
Pno.
15
Bmin Cdim C 7 min
Pno.
17
Bmin C 7 min
Pno.
19
G min E D 7 G min A©min7¨5 D 7
Pno.
23
G min E D 7
Pno.
25
G min A©min7¨5 D 7
Pno.
27
G min E D 7
2
-
8/19/2019 Shiko Shiko
73/158
Pno.
29
C min B dim Bmaj7 D 7/A
Pno.
31
G min6 B dim
Pno.
33
C min Ddim D 7 G min
Pno.
35
C min D 7 G min
Pno.
37
Emin C B7
Pno.
39
Emin ©min7¨5 B7
3
-
8/19/2019 Shiko Shiko
74/158
Pno.
41
Emin D C B7
Pno.
43
Emin ©min7¨5 B7
Pno.
45
Emin D C B7 Amin G dim Gmaj7 B7/
Pno.
49
Emin6 D G dim
Pno.
51
Amin Bbdim B7 Emin
Pno.
53
Amin B7 Emin
4
-
8/19/2019 Shiko Shiko
75/158
Pno.
55
min D C 7
Pno.
57
min G©min7¨5 C 7
Pno.
59
min E D C 7
Pno.
61
min G©min7¨5 C 7
Pno.
63
min E D C 7
Pno.
65
Bmin A dim Amaj7 C 7/G
5
-
8/19/2019 Shiko Shiko
76/158
Pno.
67
min6 E A dim
Pno.
69
Bmin Cdim C 7 min
Pno.
71
Bmin C 7 min
Pno.
73
G min E D 7 G min A©min7¨5 D 7
Pno.
77
G min E D 7 G min
Pno.
80
A©min7¨5 D 7 G min E D 7
6
-
8/19/2019 Shiko Shiko
77/158
Pno.
83
C min B dim Bmaj7 D 7/A G min6
Pno.
86
B dim C min Ddim D 7 G min
Pno.
89
C min D 7 G min Emin
7
-
8/19/2019 Shiko Shiko
78/158
In class exercise:
Please design a priority queue data structure, priority_queue_with_id, that allows the user to
modify priority and delete a data with a specific id efficiently. You can modify code from
cp::priority_queue. It should have the following structure
template
class priority_queue with_id {
protected:
T* mData;
size_t mCap;
size_t mSize;
Comp mLess;
// TODO: Your additional variables here
public:
priority_queue with_id (const Comp& c = Comp()) { ... }
priority_queue with_id (const pr priority_queue with_id& a) { ... }
~priority_queue with_id () { ... }
//------------- capacity function ----------
bool empty() const { ... }
size_t size() const { ... }
-
8/19/2019 Shiko Shiko
79/158
//----------------- access -----------------
const T& top() const { ... }
const size_t& top_id() const { ... }
//----------------- modifier ---------------
size_t push(const T& e) { ... } // return id
void pop() { ... }
void changeData(size_t id, const T& new_e) { … }
void deleteData(size_t id) { … }
// TODO: Your additional functions here
};
Hint: You can use stl::map to help, and achieve O(log2
n) or you can do better and be
O(log n)
-
8/19/2019 Shiko Shiko
80/158
q_with_id - Copy.pdf
nder1.pdf
-
8/19/2019 Shiko Shiko
81/158
In class exercise:
Please design a priority queue data structure, priority_queue_with_id, that allows the user to
modify priority and delete a data with a specific id efficiently. You can modify code from
cp::priority_queue. It should have the following structure
template
class priority_queue with_id {
protected:
T* mData;
size_t mCap;
size_t mSize;
Comp mLess;
// TODO: Your additional variables here
public:
priority_queue with_id (const Comp& c = Comp()) { ... }
priority_queue with_id (const pr priority_queue with_id& a) { ... }
~priority_queue with_id () { ... }
//------------- capacity function ----------
bool empty() const { ... }
size_t size() const { ... }
-
8/19/2019 Shiko Shiko
82/158
//----------------- access -----------------
const T& top() const { ... }
const size_t& top_id() const { ... }
//----------------- modifier ---------------
size_t push(const T& e) { ... } // return id
void pop() { ... }
void changeData(size_t id, const T& new_e) { … }
void deleteData(size_t id) { … }
// TODO: Your additional functions here
};
Hint: You can use stl::map to help, and achieve O(log2
n) or you can do better and be
O(log n)
-
8/19/2019 Shiko Shiko
83/158
rad-Mehldau-s-Solo-on-50-Ways-to-Leave-Your-Lover.pdf
q_with_id - Copy.pdf
-
8/19/2019 Shiko Shiko
84/158
Piano min D C 7 min G©min7¨5 C 7
Pno.
5
min E D C 7 min G©min7¨5 C 7
Pno.
9
min E D C 7
Pno.
11
Bmin A dim Amaj7 C 7/G
Pno.
13
min6 E A dim
Brad Mehldau's solo on
50 Ways To Leave Your Lover
Transcription: Francois Jalber
-
8/19/2019 Shiko Shiko
85/158
-
8/19/2019 Shiko Shiko
86/158
Pno.
29
C min B dim Bmaj7 D 7/A
Pno.
31
G min6 B dim
Pno.
33
C min Ddim D 7 G min
Pno.
35
C min D 7 G min
Pno.
37
Emin C B7
Pno.
39
Emin ©min7¨5 B7
3
-
8/19/2019 Shiko Shiko
87/158
Pno.
41
Emin D C B7
Pno.
43
Emin ©min7¨5 B7
Pno.
45
Emin D C B7 Amin G dim Gmaj7 B7/
Pno.
49
Emin6 D G dim
Pno.
51
Amin Bbdim B7 Emin
Pno.
53
Amin B7 Emin
4
-
8/19/2019 Shiko Shiko
88/158
Pno.
55
min D C 7
Pno.
57
min G©min7¨5 C 7
Pno.
59
min E D C 7
Pno.
61
min G©min7¨5 C 7
Pno.
63
min E D C 7
Pno.
65
Bmin A dim Amaj7 C 7/G
5
-
8/19/2019 Shiko Shiko
89/158
Pno.
67
min6 E A dim
Pno.
69
Bmin Cdim C 7 min
Pno.
71
Bmin C 7 min
Pno.
73
G min E D 7 G min A©min7¨5 D 7
Pno.
77
G min E D 7 G min
Pno.
80
A©min7¨5 D 7 G min E D 7
6
-
8/19/2019 Shiko Shiko
90/158
Pno.
83
C min B dim Bmaj7 D 7/A G min6
Pno.
86
B dim C min Ddim D 7 G min
Pno.
89
C min D 7 G min Emin
7
-
8/19/2019 Shiko Shiko
91/158
In class exercise:
Please design a priority queue data structure, priority_queue_with_id, that allows the user to
modify priority and delete a data with a specific id efficiently. You can modify code from
cp::priority_queue. It should have the following structure
template
class priority_queue with_id {
protected:
T* mData;
size_t mCap;
size_t mSize;
Comp mLess;
// TODO: Your additional variables here
public:
priority_queue with_id (const Comp& c = Comp()) { ... }
priority_queue with_id (const pr priority_queue with_id& a) { ... }
~priority_queue with_id () { ... }
//------------- capacity function ----------
bool empty() const { ... }
size_t size() const { ... }
-
8/19/2019 Shiko Shiko
92/158
//----------------- access -----------------
const T& top() const { ... }
const size_t& top_id() const { ... }
//----------------- modifier ---------------
size_t push(const T& e) { ... } // return id
void pop() { ... }
void changeData(size_t id, const T& new_e) { … }
void deleteData(size_t id) { … }
// TODO: Your additional functions here
};
Hint: You can use stl::map to help, and achieve O(log2
n) or you can do better and be
O(log n)
-
8/19/2019 Shiko Shiko
93/158
In class exercise:
Please design a priority queue data structure, priority_queue_with_id, that allows the user to
modify priority and delete a data with a specific id efficiently. You can modify code from
cp::priority_queue. It should have the following structure
template
class priority_queue with_id {
protected:
T* mData;
size_t mCap;
size_t mSize;
Comp mLess;
// TODO: Your additional variables here
public:
priority_queue with_id (const Comp& c = Comp()) { ... }
priority_queue with_id (const pr priority_queue with_id& a) { ... }
~priority_queue with_id () { ... }
//------------- capacity function ----------
bool empty() const { ... }
size_t size() const { ... }
-
8/19/2019 Shiko Shiko
94/158
//----------------- access -----------------
const T& top() const { ... }
const size_t& top_id() const { ... }
//----------------- modifier ---------------
size_t push(const T& e) { ... } // return id
void pop() { ... }
void changeData(size_t id, const T& new_e) { … }
void deleteData(size_t id) { … }
// TODO: Your additional functions here
};
Hint: You can use stl::map to help, and achieve O(log2
n) or you can do better and be
O(log n)
-
8/19/2019 Shiko Shiko
95/158
rad-Mehldau-s-Solo-on-50-Ways-to-Leave-Your-Lover.pdf
q_with_id - Copy.pdf
-
8/19/2019 Shiko Shiko
96/158
Piano min D C 7 min G©min7¨5 C 7
Pno.
5
min E D C 7 min G©min7¨5 C 7
Pno.
9
min E D C 7
Pno.
11
Bmin A dim Amaj7 C 7/G
Pno.
13
min6 E A dim
Brad Mehldau's solo on
50 Ways To Leave Your Lover
Transcription: Francois Jalber
-
8/19/2019 Shiko Shiko
97/158
Pno.
15
Bmin Cdim C 7 min
Pno.
17
Bmin C 7 min
Pno.
19
G min E D 7 G min A©min7¨5 D 7
Pno.
23
G min E D 7
Pno.
25
G min A©min7¨5 D 7
Pno.
27
G min E D 7
2
-
8/19/2019 Shiko Shiko
98/158
Pno.
29
C min B dim Bmaj7 D 7/A
Pno.
31
G min6 B dim
Pno.
33
C min Ddim D 7 G min
Pno.
35
C min D 7 G min
Pno.
37
Emin C B7
Pno.
39
Emin ©min7¨5 B7
3
-
8/19/2019 Shiko Shiko
99/158
Pno.
41
Emin D C B7
Pno.
43
Emin ©min7¨5 B7
Pno.
45
Emin D C B7 Amin G dim Gmaj7 B7/
Pno.
49
Emin6 D G dim
Pno.
51
Amin Bbdim B7 Emin
Pno.
53
Amin B7 Emin
4
-
8/19/2019 Shiko Shiko
100/158
Pno.
55
min D C 7
Pno.
57
min G©min7¨5 C 7
Pno.
59
min E D C 7
Pno.
61
min G©min7¨5 C 7
Pno.
63
min E D C 7
Pno.
65
Bmin A dim Amaj7 C 7/G
5
-
8/19/2019 Shiko Shiko
101/158
Pno.
67
min6 E A dim
Pno.
69
Bmin Cdim C 7 min
Pno.
71
Bmin C 7 min
Pno.
73
G min E D 7 G min A©min7¨5 D 7
Pno.
77
G min E D 7 G min
Pno.
80
A©min7¨5 D 7 G min E D 7
6
-
8/19/2019 Shiko Shiko
102/158
Pno.
83
C min B dim Bmaj7 D 7/A G min6
Pno.
86
B dim C min Ddim D 7 G min
Pno.
89
C min D 7 G min Emin